@interface

IOS,objective_C中用@interface和 @property 方式声明变量的区别

心不动则不痛 提交于 2019-12-09 13:42:00
转自http://www.cnblogs.com/letmefly/archive/2012/07/20/2601338.html 一直有疑问,在objective_C中声明变量会有 2种方式,今天有空和网友讨论了下,并且自己查了stackoverflew后算是稍微弄懂了一点。记录如下: 用了一段oc;会发现有2种定义变量的方式 1.在 @interface :NSObject{} 的括号中,当然NSObject 是指一个父类,可以是其他的。 形式如下: 1 @interface GCTurnBasedMatchHelper : NSObject { BOOL gameCenterAvailable; 3 BOOL userAuthenticated; }   2.另外一种是直接在 @interface : NSObject{}括号之后,用 @property 去定义一个变量。 1 @property (assign, readonly ) BOOL gameCenterAvailable;   你会发现,有人会再@interface中定义了变量后,又在 @property中重复定义相同的变量,而且很常见。 结果可能是这样: 1 @interface GCTurnBasedMatchHelper : NSObject { 2 BOOL gameCenterAvailable; 3