IOS程序编译报如下错误:、

Loading two versions of Object



这是源代码:

#import <Foundation/Foundation.h>


@interface Object : NSObject
{
id name;
}


- (void) setName: (id) i;
- (id) getName;
- (void) print;


@end //Object


@implementation Object


- (void) setName: (id) i
{
name = i;
}


- (id) getName
{
return name;
}


- (void) print
{
NSLog(@"name=%@",name);


}


@end //Object


int main(int argc, char* argv[])
{
//id s = @"Hello Test";
id o = [Object new];
[o setName: @"Object Test"];
[o print];
return 0;
}

将Object改为KLObject之后就没问题,修改后的源码

#import <Foundation/Foundation.h>


@interface KLObject : NSObject
{
id name;
}


- (void) setName: (id) i;
- (id) getName;
- (void) print;


@end //KLObject


@implementation KLObject


- (void) setName: (id) i
{
name = i;
}


- (id) getName
{
return name;
}


- (void) print
{
NSLog(@"name=%@",name);


}


@end //KLObject


int main(int argc, char* argv[])
{
//id s = @"Hello Test";
id o = [KLObject new];
[o setName: @"KLObject Test"];
[o print];
return 0;
}

运行结果:



目前还没有彻底的搞清楚是什么原因导致的冲突,只不过也提醒了我类名的规范。也算是有助于代码质量的提高吧,呵呵!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐