为什么不能通过点语法更改UIButton文本?

Cen*_*ion 2 iphone objective-c title uibutton

是否可以通过点语法更改UIButton标题标签文本?如果我通过点语法执行此操作,则文本不会更改:

self.myButton.titleLabel.text = [NSString stringWithString:@"Nop"];
Run Code Online (Sandbox Code Playgroud)

但是这个做了:

[self.myButton setTitle: @"Yep" forState: UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

文本更改适用于纯UILabel,UIButton是特殊情况还是其他什么?

Fre*_*eer 10

这是因为可以针对几种不同的状态(正常,突出显示等)更改UIButton的文本.Apple只是选择要求显式代码来设置文本.如果你真的想要的话,你可以创建一个类别来实现它.