Ios Objective-C属性-什么是;id";什么意思?
可能重复:Ios Objective-C属性-什么是;id";什么意思?,ios,objective-c,ios5,Ios,Objective C,Ios5,可能重复: 根据我的问题,我显然是iOS开发和Objective-C的noob。我遵循一个教程,在我的界面(.h)实现中声明了这一行: @property (strong, nonatomic) id dataObject1; “id”是什么意思?id是对象的类型;例如,该类型可以是NSArray*或int id类型指定了对任何Objective-C对象的引用(无论其类别如何)。@H2CO3我在谷歌上搜索了很多次,没有找到答案。我为这个问题道歉。@ScoobaSteve好吧,没什么不好的感觉
根据我的问题,我显然是iOS开发和Objective-C的noob。我遵循一个教程,在我的界面(.h)实现中声明了这一行:
@property (strong, nonatomic) id dataObject1;
“id”是什么意思?
id
是对象的类型;例如,该类型可以是NSArray*
或int
id
类型指定了对任何Objective-C对象的引用(无论其类别如何)。@H2CO3我在谷歌上搜索了很多次,没有找到答案。我为这个问题道歉。@ScoobaSteve好吧,没什么不好的感觉,我只是很惊讶。。。如果你需要良好的Objective-C资源,@HermannKlecker你是认真的吗。。。发布到LMGTFY是否真的如此重要,以至于您需要绕过禁令和友好的橙色框,该框告诉您发布的内容是不允许的?不,id不能是int。它是NSObject*的别名。所以它可能是nsarray*但不是int。int根本不是对象。这是一个标量。你是对的,但我的意思是解释@property
类型声明——用类型int
@HermannKlecker声明一个属性是完全正确的,这是不正确的。id
数据类型不是NSObject*
的别名;它是在objc.h中声明的typedef
,如下所示:typedef结构objc_对象{Class isa;}*id
@HermannKlecker我的观点与int
数据类型无关。我只是简单地指出,id
并不意味着NSObject
。例如,NSProxy
的类结构和实例不是NSObject
的子类,但它们与id
数据类型相匹配。那么有人真的要更正答案吗?