Objective-C中的(ReturnClass *)methodName ...和(ReturnClass)methodName ...有什么区别?

时间:2014-01-08 12:59:09

标签: objective-c

快速提问:Objective-C中(ReturnClass *)methodName...(ReturnClass)methodName之间的区别?

我知道(ReturnType *)methodName ...返回ReturnClass的实例而不是(ReturnClass)methodName 只返回什么?

谢谢。

1 个答案:

答案 0 :(得分:4)

如果你的ReturnClass是一个对象(最有可能),那么你不能在没有*的情况下使用它。你会得到一个编译错误。否则*是指向实例的指针(基本类型或结构),缺少*是实例本身

编辑:关于Joe指针的精彩解释:

  

将实例视为您的房子,将指针视为您的地址。你的房子是一个大的物体,所以不要复制你的房子,并在你举办派对时将它传递给你的朋友,你给他们你的地址,这样他们就可以到你家。现在,如果你有一个小物件,比如传单,那么复制和传递就很容易,而不是给大家指示去那张纸。把大对象(house)想象成一个Objective-C类或者充满了info的结构,把小对象(flyer)想象成一个像int,BOOL,double等原语