由于现在ios版本需要用到以前android项目的那套服务,那么,android那边的model也得照搬过来,但是在移植的过程中发现个问题,比如说一个属性的名字为newPasswd,在ios这边,如果使用了ARC,model 的字段(属性)名称还叫newPasswd的话,编译就会不通过,出现以下错误:
error: property's synthesized getter follows Cocoa naming convention for returning 'owned' objects
/Users/senyang/Documents/work/project/../xxxx.h:15:38: note: property declared here
@property (nonatomic,copy) NSString *newPasswd;
1.改掉newPasswd这个属性的名称,变成其他的只要不是new开头的就行,错误消除,但是这样在进行json自动转化的时候会出错,所以这种方式我不能使用(也许有其他的什么映射的方法解决这个问题,为了时间关系,我这里暂时不做深究);
2.在@property声明属性的时候重新定义它的Getter方法:
@property (nonatomic,copy,getter = theNewPasswd) NSString *newPasswd;
编译通过,只不过使用Getter方法的时候注意下
最后附上stackoverflow的问题解决传送门http://stackoverflow.com/questions/6327448/semantic-issue-propertys-synthesized-getter-follows-cocoa-naming-convention-fo