2013-10-13 16 views
-1

我可能是錯的,但如果我想翻譯這個我會拿出這樣的:- (空)setOrigin:(的Xypoint *)PT

沒有價值的實例方法返回一個方法名稱setOrigin這將將一個指向名爲pt的XYPoint類的參數。

現在,我剛剛寫下了什麼。請解釋。 Tyvm。

+0

Thx。所以如果XYPoint是一個類(@class XYPoint)而不是NSObject的後代,那麼解釋就在你的第一句話中。 (XYPoint *)在這種情況下指的是與XYPoint類名稱相同的XYPoint結構,但不是實際的類XYPoint。 XYPoint結構體與XYPoint類具有相同的特徵嗎?還是我混淆了一切?謝謝。 –

+0

這樣看待:如果將T定義爲Obj-C類(@class T),則T的實例由T *表示。但是你不應該把T *當作一個普通的C指針(即你不應該對其進行解引用)。將它當作對象的引用,恰好與C指針共享語法,並且不應該爲Objective-C在內部表示它而煩惱。 (如果您對Objective-C內部感興趣,請查看下面的問題:http://stackoverflow.com/questions/16783557/are-objective-c-objects-all-same-type-of-c-structure) –

回答

0

這取決於上下文。

如果XYPoint是一個C結構體,那麼你將它解釋爲一個實例方法,該方法需要一個指向XYPoint結構體(又名地址)的指針,可能用於通過引用返回某個值。

如果XYPoint是NSObject的後代,那麼您寧願說:這是一個實例方法,它需要一個XYPoint 對象。 NSObject的後代是引用計數的對象,並通過指針傳遞(雖然我會稱它們爲引用以強調它們不是C類型的常規指針)。

+0

Thx。所以如果XYPoint是一個類(@class XYPoint)而不是NSObject的後代,那麼解釋就在你的第一句話中。 –

+0

我想我現在明白了。儘管如此,仍然有點混亂。總之,tyvm。 –