这是一个示例场景:
您有一个视图控制器“ItemsViewController”,它在 UITableView 中列出“项目”。这一切都设置在导航控制器中,可让您更改 UINavigationItem 标题属性的标题。我正在阅读一本将保持无名的书,它在同一页面上以两种方式访问此属性,我不知道为什么;
使用指针
UINavigationItem *n = [self navigationItem];
[n setTitle: @"Title"];
直接发送对象消息
[[self navigationItem] setTitle:[item itemName]];
我了解这两种方法的工作原理(如果我错了,请纠正我)指针指向 navigationItem 并且当您更改属性时,它会在 navigationItem 中更改它
否则,您向 navigationItem 发送带有更新字符串的 setTitle 消息。
然而,我真正的问题是,为什么在任何情况下你都会以一种方式而不是另一种方式来做这件事?这些方法中的一种是否有优势?