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。 –