“self setDoublePicker:nil”和“self.doublePicker = nil”之间的区别

时间:2013-03-21 09:17:56

标签: iphone ios objective-c xcode

正如标题所解释的,如果我控制将xib文件中的组件拖向.h文件以方便地创建出口,如doublePicker或其他东西,xcode将有助于在viewDidUnloaded:中创建语句像这样的方法:

[self setDoublePicker:nil];

有什么区别:

self.doublePicker = nil;

哪一个表现更好?

4 个答案:

答案 0 :(得分:2)

Foo *foo = [[Foo alloc] init];
foo.bar = YES;
[foo setBar:YES];

最后两行的编译完全相同。唯一改变这一点的是,如果属性指定了getter和/或setter属性;但是,它所做的只是更改发送的消息,而不是是否发送消息:

if ([someView isEmpty]) { /* ... */ }
if (someView.empty) { /* ... */ }

这两行都给出了相同的结果。 。 为了更好地理解Dot notation,请参考这个。

答案 1 :(得分:1)

答案 2 :(得分:1)

简单的第一个是调用名为setDoublePicker的方法 第二个是您将self.doublePicker设为nil

欲了解更多信息,请阅读此问题Difference between self.var and simply var

还有read this official document.

答案 3 :(得分:1)

如果您没有为实例变量使用任何自定义setter或getter方法,则两者都相同。如果您使用任何自定义setter或getter,那么您将收到以下代码

的警告
[self setDoublePicker:nil ];
相关问题