最初self.navigationItem.backBarButtonItem
相当于UIBarButtonItem *backBarButtonItem = nil
所以只是调用self.navigationItem.backBarButtonItem.title = @"Back";
意味着您正在设置UIBarButtonItem
不存在的标题。您从未真正将对象分配给self.navigationItem.backBarButtonItem
. 也self.navigationItem.backBarButtonItem
相当于[[self navigationItem] setBackBarButtonItem:(UIBarButtonItem)];
因此传入@"Back"
this 不起作用,这样做实际上会产生我相信的警告。您不应该能够将 a 传递给NSString *
应该采用 的参数UIBarButtonItem *
。
而self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:nil action:nil];
基本上相当于UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:nil action:nil];
老实说,我会说这样做就像
UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:nil action:nil];
[[self navigationItem] setBackBarButtonItem:backBarButtonItem];
这会更好,更容易理解,但这只是我的意见。只记得先初始化对象。