2011-09-24 63 views
0

我开始了Objective-C,我想知道为什么我们必须在方法参数类型中放置星号?为什么我们必须在Objective-C的方法参数类型上加一个星号?

例如

- (void)myMethodThatTakesAString:(NSString*)string; 

在此先感谢!

+0

可能的重复[在Objective-C中的括号中的星号...是什么意思?](http://stackoverflow.com/questions/514139/asterisk-in-parenthesis-in-objective-c-what-这是什么意思) –

回答

6

星号表示该参数是一个指向一个NSString。您不能将NSString传递给方法,而是传递一个指向它的指针。

尽管当你有对象时并不真正理解它们,你可能会简单地使用指针,但优先考虑指针的学习可能是一个好主意。

+0

所以,我传递一个NSString类型的指针作为参数?那是你在说什么?谢谢 –

2

因为这就是你正在传递的指针 - 一个内存位置或对NSString的引用。

为指针的表示法中,*来自C.

相关问题