gpt4 book ai didi

ios - NIB 中的导航项始终为零

转载 作者:行者123 更新时间:2023-11-29 10:58:54 24 4
gpt4 key购买 nike

我在 View Controller NIB 中设置了一个 UINavigationBar 并为该栏及其关联的 UINavigationItem 设置了导出。在 View Controller 的 viewDidAppear: 中,我调试对象。导航栏设置为对象,但导航项为nil。导航栏的 items 数组包含一个 UINavigationItem,它指向一个有效的对象。

为什么 Nib 里的导航项没有设置?

enter image description here

这是我在 View Controller 中使用的代码:

@interface NKViewController ()
{
IBOutlet UINavigationBar *navigationBar;
IBOutlet UINavigationItem *navigationItem;
}
@end

@implementation NKViewController

- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];

UINavigationItem *itemsNavigationItem = [[navigationBar items] objectAtIndex:0];
NSLog(@"Items Navigation Item: %@", itemsNavigationItem);
NSLog(@"ivar Navigation Item: %@", navigationItem);
}
@end

哪些日志:

Items Navigation Item: <UINavigationItem: 0x71a0fb0>
ivar Navigation Item: (null)

最佳答案

navigationItem(已经)是 UIViewController 上的一个(只读)属性(由 _navigationItem ivar 支持),这可能是这个问题。尝试重命名该属性,它应该没问题(实际上在我的 Xcode 版本中,如果我什至尝试将其添加为 socket ,它会抛出错误)

enter image description here

更新:已经用另一个名字测试过,确实可以

enter image description here

更多更新:是ivar的名字

@interface ViewController ()
{
IBOutlet UINavigationBar *navigationBar;
IBOutlet UINavigationItem *navigationItemX;
}
@end

@implementation ViewController

- (void)viewDidLoad
{
[super viewDidLoad];

UINavigationItem *itemsNavigationItem = [[navigationBar items] objectAtIndex:0];
NSLog(@"Items Navigation Item: %@", itemsNavigationItem);
NSLog(@"ivar Navigation Item: %@", navigationItemX);

}

哪些日志:

Items Navigation Item: <UINavigationItem: 0x71b11c0>
ivar Navigation Item: <UINavigationItem: 0x71b11c0>

最后我们可以通过这样做看到 navigationItem 确实是别的东西:

NSLog(@"Items Navigation Item: %@", itemsNavigationItem);
NSLog(@"ivar Navigation Item: %@", navigationItemX);
NSLog(@"'Hidden' ivar: %@", [self valueForKey:@"navigationItem"]); // or self.navigationItem

哪些日志:

Items Navigation Item: <UINavigationItem: 0x7185190>
ivar Navigation Item: <UINavigationItem: 0x7185190>
'Hidden' ivar: <UINavigationItem: 0x759e040>

关于ios - NIB 中的导航项始终为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16946746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com