5
当我创建了一个名为,比如说,雪碧类的一个实例,我做这样的事情:为什么在声明变量时CGSize不使用*?
Sprite *mySprite = [[Sprite alloc]init];
但为什么创建CGSize或int型变量的时候,我不能使用*?基本上,什么是*的?
当我创建了一个名为,比如说,雪碧类的一个实例,我做这样的事情:为什么在声明变量时CGSize不使用*?
Sprite *mySprite = [[Sprite alloc]init];
但为什么创建CGSize或int型变量的时候,我不能使用*?基本上,什么是*的?
*表示pointer。 CGSize
被声明为struct
而Sprite
是一个类,在Objective-C中,所有的类都被一个指针引用。
您可以找到Programming with Objective-C文档的附加信息。相关部分是使用指针来跟踪对象和方法可以返回值。
+1,无法得到更好的回答。 – sidyll
添加到乔的正确答案,一个'int'是一个原始类型,并直接存储在内存中,因此通常不会被指针引用。 –
FWIW,“你需要知道的关于C语言中的指针”(http://boredzo.org/pointers/)也适用于Objective C。 –