在 iOS 中,调用函数时我有些困惑。
-(void) function:(NSString*) str
{
selectedstring = str;
}
调用函数时。
我什么时候应该打电话:
self.function = @"My name";
和
[self function:@"My name"]
(.) 参数和 [ ] 有什么区别
在 iOS 函数调用中?
在 iOS 中,调用函数时我有些困惑。
-(void) function:(NSString*) str
{
selectedstring = str;
}
调用函数时。
我什么时候应该打电话:
self.function = @"My name";
和
[self function:@"My name"]
(.) 参数和 [ ] 有什么区别
在 iOS 函数调用中?
myVar = self.property
相当于myVar = [self property]
self.property = anotherVar
相当于[self setProperty:anotherVar]
你使用哪个是风格问题。
有些人会告诉你,点语法应该只用于实际定义为属性的事物(带有@property
)。我不同意这一点。我的观点是,只要你调用获取或设置值的东西,就应该使用点语法,而其他副作用最小。无论您是自己编写方法还是合成一个属性来自动生成它都不重要:重要的是它是否与获取和设置值有关。
所以myArray.count
很好,尽管它不在@property
头文件中。但myURLConnection.start
不是,因为它不返回值并且与执行操作有关。
人们确实不同意这一点。有些人根本不喜欢使用点语法,因为它可能与访问结构的成员(也使用.
)混淆。其他人很乐意对@property
s 使用点语法,但对其他方法则不然。