今天发现的一个arc命名的问题

今天在写代码,发现了一个arc的命名原则,就是不能以new开头.例如NSUrl *newUrl; 这样也是不行的,会报错Property's synthesized getter follows Cocoa naming convention for returning 'owned' objects


所以,要改为不是new,开头的命名,才可以通过.

Property's synthesized getter follows Cocoa naming convention for returning 'owned' objects
这个出处:@synthesize newPwd;
违犯了ARC命名规则,成员变量不要以new作为前缀。
关于ARC规则,请参考http://mobile.51cto.com/iphone-313122.htm 
基本的ARC使用规则:
    1。代码中不能使用retain, release, retain, autorelease
    2。不重载dealloc(如果是释放对象内存以外的处理,是可以重载该函数的,但是不能调用[super dealloc])
    3。不能使用NSAllocateObject, NSDeallocateObject
    4。不能在C结构体中使用对象指针
    5。id与void *间的如果cast时需要用特定的方法(__bridge关键字)
    6 。不能使用NSAutoReleasePool、而需要@autoreleasepool块
    7 。不能使用“new”开始的属性名称 (如果使用会有下面的编译错误”Property’s synthesized getter follows Cocoa naming convention for returning ‘owned’ objects”)


这是一篇参考文章:总结:升级到xcode4.2 iOS sdk 5.0旧版工程编译后出现的警告解决办法

你可能感兴趣的:(ios,arc)