我的应用程序最近开始崩溃我需要一些帮助来弄清楚原因。
在app delegate中我创建了一个导航控制器
UINavigationController *localNavigationController;
tabBarController = [[UITabBarController alloc] init];
NSMutableArray *localControllersArray = [[NSMutableArray alloc] initWithCapacity:3];
然后加载到3个控制器(显示1个)
SecondViewController *secondViewController;
secondViewController = [[SecondViewController alloc] initWithTabBar];
localNavigationController = [[UINavigationController alloc]
[initWithRootViewController:secondViewController];
[localControllersArray addObject:localNavigationController];
[localNavigationController release];
[secondViewController release];
其中一个视图有一个按钮,用于调用推送新视图的操作
Ref *third = [[Ref alloc] initWithNibName:@"Fourthview" bundle:nil];
到目前为止一切顺利。我已经更新了现在我想要使用的旧xib,但是一旦推送它就会崩溃
Sup *third = [[Sup alloc] initWithNibName:@"Fifthview" bundle:nil];
如果我去IB并断开所有UILabel Outlet,它将会起作用。但是连接例如pName将崩溃
这是错误
'[setValue:forUndefinedKey:]:此类不是密钥pName的密钥值编码。'
感谢
答案 0 :(得分:2)
用于加载Sup
XIB的类Fifthview
必须具有属性或名为pName
的ivar。这可能是由于XIB中的IBOutlet将pName
属性连接到文件的所有者。
XIB加载过程正在尝试使用KVC连接XIB中定义的所有IBOutlet,这实际上意味着它正在调用-[setValue:forKey:]
,其中密钥等于@"pName"
。如果您已在pName
中声明了Sup
属性,请确保@synthesize pName;
中的实施位置中还有Sup.m
。