我是Objective-C的新手,我很想知道有关id
数据类型的更多信息。我想知道为什么数据类型id
的变量不能成为指针。
在声明变量时,我了解到我们应该将它作为指针,例如
SomeClass *someVar = [[SomeClass alloc] init];
但是在id
类型的情况下,它就像:
id someVar = [[SomeClass alloc] init];
此处,id
类型不再是指针。为什么呢?
答案 0 :(得分:1)
id
是Objective-C对象的通用指针类型,您不知道该类是什么。但它是指针类型。
答案 1 :(得分:0)
id是一个指向对象的指针,如(NSObject *),但它的特殊之处在于它不使用星号。这可能会有所帮助:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/WorkingwithObjects/WorkingwithObjects.html#//apple_ref/doc/uid/TP40011210-CH4-SW18