当我们使用self时,在return语句中使用stringWithFormat作为NSString。 ; [自我]还是只是实例?
例如,我们返回[NSString stringWithFormat:@“%@%@”,self.someinstance或[self someinstance]或someinstance]。
答案 0 :(得分:1)
self.someinstance
相当于[self someinstance]
。前者只是使用了Objective-C 2.0中提供的点语法。
您使用哪种选项主要是个人偏好。我建议在整个应用程序中保持一致,并始终使用一种格式。
在没有someinstance
或self.
的情况下单独使用[self ]
是不同的,并直接访问实例变量。这应该在init
方法之外避免。
答案 1 :(得分:1)
这真的是一种惯例,技术上
self.myProperty;
和
[self myProperty];
做同样的事情(通过getter方法访问属性) 就个人而言,我总是使用dot-syntax作为属性,[]作为方法。我想我读过很久以前的某个地方这是公认的惯例,但我不记得在哪里。
_myProperty ;
将绕过getter / setter直接访问该属性。除了构造函数和getter / setter之外,我建议不要使用它,因为如果你这样做,KVO将不起作用。如果使用它,自定义getter / setter也毫无意义。