代码改变世界

xCode4.2中导入OpenFlow库到项目中出现编译警告warning: Semantic Issue: Writable atomic property

2012-01-05 22:15  张智清  阅读(1792)  评论(0编辑  收藏  举报

目前已全面升级使用xCode4.2加iOS5.0,以致导入的有些库的使用或多或少会出现些编译错误,就像今天在应用OpenFlow时,就发生以下编译2处警告:
1. warning: Semantic Issue: Writable atomic property 'number' cannot pair a synthesized setter/getter with a user defined

setter/getter  指示在AFItemView.m文件

2. warning: Semantic Issue: Writable atomic property 'numberOfImages' cannot pair a synthesized setter/getter with a user defined setter/getter  指示在AFOpenFlowView.m文件

查找这两个文件的头文件声明获知,这两个属性声明是这样的:

@property int number;

@propertyint numberOfImages;

反正感觉上另类,也就直接更改为以下:

@property (nonatomic) int number;

@property (nonatomic) int numberOfImages;
居然就顺利通过,没有再报警告错误了。此后查找资料,得知可以有以下几种方法解决:
1. 声明属性为nonatomic,即我上面的修改方法。
2. @synthesize合成用getter/setter方法(即自己手动定义getter/setter方法)。
3. 用@dynamic来代替@synthesize。
4. 直接不用属性@property。