1

在 iOS 中,调用函数时我有些困惑。

-(void) function:(NSString*) str
{
   selectedstring = str;
}

调用函数时。

我什么时候应该打电话:

self.function = @"My name";

[self function:@"My name"]

(.) 参数和 [ ] 有什么区别

在 iOS 函数调用中?

4

1 回答 1

0

myVar = self.property相当于myVar = [self property]

self.property = anotherVar相当于[self setProperty:anotherVar]

你使用哪个是风格问题。

有些人会告诉你,点语法应该只用于实际定义为属性的事物(带有@property)。我不同意这一点。我的观点是,只要你调用获取或设置值的东西,就应该使用点语法,而其他副作用最小。无论您是自己编写方法还是合成一个属性来自动生成它都不重要:重要的是它是否与获取和设置值有关。

所以myArray.count很好,尽管它不在@property头文件中。但myURLConnection.start不是,因为它不返回值并且与执行操作有关。

人们确实不同意这一点。有些人根本不喜欢使用点语法,因为它可能与访问结构的成员(也使用.)混淆。其他人很乐意对@propertys 使用点语法,但对其他方法则不然。

于 2012-10-23T09:33:35.973 回答