ios开发点滴-model属性不能用new开头的问题

来源:互联网 发布:如何自学ps软件 编辑:程序博客网 时间:2024/06/05 04:37

由于现在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



0 0
原创粉丝点击