initWithNibName崩溃

时间:2011-05-24 00:44:34

标签: iphone crash

我的应用程序最近开始崩溃我需要一些帮助来弄清楚原因。

在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的密钥值编码。'

感谢

1 个答案:

答案 0 :(得分:2)

用于加载Sup XIB的类Fifthview必须具有属性或名为pName的ivar。这可能是由于XIB中的IBOutlet将pName属性连接到文件的所有者。

XIB加载过程正在尝试使用KVC连接XIB中定义的所有IBOutlet,这实际上意味着它正在调用-[setValue:forKey:],其中密钥等于@"pName"。如果您已在pName中声明了Sup属性,请确保@synthesize pName;中的实施位置中还有Sup.m