Objective-C 2.0中的属性是否需要声明相应的实例变量?例如,我习惯做这样的事情:
MyObject.h
@interface MyObject : NSObject {
NSString *name;
}
@property (nonatomic, retain) NSString *name;
@end
Run Code Online (Sandbox Code Playgroud)
MyObject.m
@implementation
@synthesize name;
@end
Run Code Online (Sandbox Code Playgroud)
但是,如果我这样做了:
MyObject.h
@interface MyObject : NSObject {
}
@property (nonatomic, retain) NSString *name;
@end
Run Code Online (Sandbox Code Playgroud)
这仍然有效吗?它与我之前的例子有什么不同吗?
可能重复:
如果您在Objective-C中仅使用属性,是否有任何理由声明ivars?
ObjectiveC ivars或@property
我是iPhone编程的新手(以及编程场景).我试图在各个地方研究属性,并发现它们基本上是为其他类创建getter和setter方法以获取对这些对象的访问权限的快捷方式.
现在,我已经看到程序员在@interface之后的花括号中定义对象:UIViewController以及之后的属性,当所有访问都发生在该类的.m文件中时.
现在,那段多余的(?)代码,是否有必要?这是标准吗?期待一些可理解的意见.
先感谢您.