只是尝试使用@property和@synthesize:
@interface Greeter : NSObject
//{
// NSString * name;
//}
@property (assign) NSString * name;
- (NSString *) greeting;
@end
似乎是这样的情况,如果您使用 @property 声明一个变量,则不必在大括号之间声明它(如果所有接口(interface)变量都使用声明,您甚至不需要大括号) @属性(property))。这总是正确的吗?省略界面的顶部(包括大括号)是一种好的风格吗?我一直在使用两者,并且对冗余感到恼火。
最佳答案
不存在“Cocoa 2.0”。
在 Objective-C 2.0 中,the modern runtime ,是的,您可以省略实例变量,属性将为您生成它们。 The legacy runtime在 Mac OS X 上仍然需要显式实例变量。
您还不能完全省略 ivar 部分,但您可以将其留空。
关于cocoa - 在cocoa2.0中,@property是否避免了接口(interface)中的变量声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3369385/