2013-10-13 15 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。 –