我们什么时候使用自己。还是stringWithFormat中的[self]?

时间:2014-08-18 05:11:48

标签: objective-c

当我们使用self时,在return语句中使用stringWithFormat作为NSString。 ; [自我]还是只是实例?

例如,我们返回[NSString stringWithFormat:@“%@%@”,self.someinstance或[self someinstance]或someinstance]。

2 个答案:

答案 0 :(得分:1)

self.someinstance相当于[self someinstance]。前者只是使用了Objective-C 2.0中提供的点语法。

您使用哪种选项主要是个人偏好。我建议在整个应用程序中保持一致,并始终使用一种格式。

在没有someinstanceself.的情况下单独使用[self ]是不同的,并直接访问实例变量。这应该在init方法之外避免。

答案 1 :(得分:1)

这真的是一种惯例,技术上

 self.myProperty; 

[self myProperty];

做同样的事情(通过getter方法访问属性) 就个人而言,我总是使用dot-syntax作为属性,[]作为方法。我想我读过很久以前的某个地方这是公认的惯例,但我不记得在哪里。

_myProperty ;

将绕过getter / setter直接访问该属性。除了构造函数和getter / setter之外,我建议不要使用它,因为如果你这样做,KVO将不起作用。如果使用它,自定义getter / setter也毫无意义。