在哪种情况下可以使用foo.bar但不能使用[foo bar]

时间:2018-07-25 11:45:56

标签: objective-c

我仍然很难理解objc中too消息发送语法之间的区别。我知道在某些情况下仅允许。有什么区别?

1 个答案:

答案 0 :(得分:0)

点语法只是[foo bar]周围的语法糖。从技术上讲,您可以在任何地方使用它来调用不带参数的方法(所有属性getter都是不带参数的方法)。例如。这可行,但看起来很奇怪:)

- (void)viewDidLoad {
    super.viewDidLoad
    //..
}

但是从编程风格指南中,您应该仅在访问属性时使用它。

编辑: 这也适用于分配,分配是使用单个参数调用方法:

//..
self.viewDidLoad = @"Test";
//..

- (void)setViewDidLoad:(NSString *)a
{
    NSLog(@"%@", a);
}