2012-01-31 47 views
1

可能重复:
objective c difference between id and void *c样式指针和id样式对象有什么区别?

同时通过NSZone.h Foundation框架我碰到一个注释跑读书提的东西是“更像是AC式指针不是一个ID样式对象” 。我意识到我不了解其中的差异。

c样式指针和id样式对象有什么区别?

+1

在10000英尺高度,'id'与'void *'指针非常相似。区别在于“id”是键入的,但类型是“Objective-C对象”,这是一个非常大且“糊状”的类别。 – 2012-01-31 21:30:42

+1

对不起,我看错了文章。 :(不正确的答案删除。感谢您指出,家伙。文章这里供参考:http://unixjunkie.blogspot.com/2008/03/id-vs-nsobject-vs-id.html – Almo 2012-01-31 21:32:05

回答

1

A C指针可以指向在任何东西 - 对象,结构,原始字节,字符串,...

A 'ID' 指针指向在一个Objective-C的对象的实例。 'id'是无类型的,所以它可能指向任何类的实例。类似于NSObject *的东西是键入的;你知道它指向什么样的对象。

1

头文件似乎专门讨论Objective-C垃圾收集器如何处理事情。从malloc()获得的通用指针不由收集器管理,而对象是。该评论是NSMakeCollectable(),这是一种启用CoreFoundation样式对象上的GC的函数。

相关问题