cocoa - 在cocoa2.0中,@property是否避免了接口(interface)中的变量声明

标签 cocoa

只是尝试使用@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/

相关文章:

objective-c - 像 Xcode 中一样实现 New-File-dialog

macos - NSCursor:使用带有光标缩放(或视网膜)的高分辨率光标

objective-c - AFNetworking - 向 REST 服务发出 XML POST 请求?如何形成NSDictionary参数?

objective-c - NSWindow 可恢复并不总是有效

objective-c - 为什么当我选择标题时我的 NSTableView 会变成蓝色?

macos - 通过 Cocoa 复杂地使用地址簿搜索元素

objective-c - 使用 Objective-C 搜索开放目录 (LDAP)

Cocoa 菜单栏以编程方式使用 NSMenu,如何获取标准项目 "Services"、 "Hide App"、 "Hide Others"、 "Show All"等

macos - 带 https 和 TLS 1.1 的 NSURLConnection

objective-c - 字典值字典中的 iPhone NSArray