我知道有很多关于指针的问题,特别是现在的Objective-C。但我正在寻找一些更高级别的答案来帮助我理解Objective-C中的范例。
我听说有些人说在Objective-C中使用指针是一个问题或经验,即有些类要求你使用指针,有些则不需要。这是真的?这是在Objective-C中使用指针的程度。
基本上,除了想要将引用变量显式传递给方法之外,Objective-C中指针的规则是什么?
答案 0 :(得分:39)
在引用堆上的内容时有时会使用指针总是,有时会引用,但在引用堆栈中的内容时通常不会。
由于Objective-C对象总是在堆上分配(除了Blocks,但这与此讨论正交),因此始终使用指向Objective-C对象的指针。 id
和Class
类型都是指针。
对于某些原始类型和简单结构,不使用指针的地方。 NSPoint
,NSRange
,int
,NSUInteger
等等都是通过堆栈通常访问的 >你不使用指针。
对于Why the * in Objective-C?
,您可能会发现此question of interest。