为什么我不能在Obj-C中声明像"newVariable"这样的变量?

Lit*_*T.V 16 iphone variables objective-c ipad ios

我得到的错误

error: property's synthesized getter follows Cocoa naming convention for returning 'owned' objects
/Users/.../ViewController.h:12:40: 

note: property declared here
@property (nonatomic, retain)NSString *newString;
Run Code Online (Sandbox Code Playgroud)

为什么我不能在开头使用变量名中的new?(像newString)

pro*_*rmr 31

声明属性合成两个访问器(getter/setter)方法:

-(NSString*)newString;
-(void)setNewString:(NSString*)newString;
Run Code Online (Sandbox Code Playgroud)

Objective-C有一个由编译器强制执行的内存管理命名约定.以new(也称为"alloc","copy","mutableCopy")开头的方法需要返回一个将由调用者"拥有"的对象.请参阅文档.生成的访问器方法不遵循该规则.