我正在尝试创建一个从主页面开始的应用程序,上面有三个按钮。按下的每个按钮将切换到另一个视图。每个视图只是一个空白视图,上面有UIWebView。当没有任何内容时,转换到每个页面都可以正常工作。但是,当我添加UIWebview和所有正确的代码时,转换到页面会导致应用程序崩溃并显示以下错误消息:
*由于未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:'[setValue:forUndefinedKey:]:此类不是键视图符号的键值编码兼容。 * 第一次抛出调用堆栈: (0x1c94012 0x10d1e7e 0x1d1cfb1 0xb7de41 0xaff5f8 0xaff0e7 0xb29b58 0x233019 0x10e5663 0x1c8f45a 0x231b1c 0xf67e7 0xf6dc8 0xf6ff8 0xf7232 0x259b 0x10e5705 0x192c0 0x19258 0xda021 0xda57f 0xd96e8 0x48cef 0x48f02 0x26d4a 0x18698 0x1befdf9 0x1befad0 0x1c09bf5 0x1c09962 0x1c3abb6 0x1c39f44 0x1c39e1b 0x1bee7e3 0x1bee668 0x15ffc 0x1e92 0x1dc5) libc ++ abi.dylib:terminate调用抛出异常
我很肯定所有UIWebView代码都是正确的,因为我在一个新应用程序中测试了完全相同的代码,该应用程序只在单个视图上运行且没有转换。但这是我用于过渡的代码:
- (IBAction)floorCatalog:(id)sender {
UIViewController* floorLampsViewController = [[UIViewController alloc] initWithNibName:@"floorLampsViewController" bundle:[NSBundle mainBundle]];
[self.view addSubview:floorLampsViewController.view];
}
- (void)dealloc {
[_floorLampsButton release];
[_tableLampsButton release];
[_wallLampsButton release];
[super dealloc];
}
- (void)viewDidUnload {
[self setFloorLampsButton:nil];
[self setTableLampsButton:nil];
[self setWallLampsButton:nil];
[super viewDidUnload];
}
这是我用于网络视图的代码:
@property (retain, nonatomic) IBOutlet UIWebView *viewWeb;
[self.viewWeb loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.bing.com"]]];
为什么这种情况不断发生?谢谢!
答案 0 :(得分:0)
viewWeb是否连接到Interface Builder中的UIWebView?看起来viewWeb没有被初始化或者什么东西,并且看到你正在使用IBOutlet它让我觉得它在你的笔尖里。