子类视图控制器获取错误'不符合键值编码'

时间:2010-09-12 11:39:12

标签: iphone ipad

我一直试图连续2天解决这个错误,似乎无法找到问题。

我将标准的ViewController分类为:

@interface ToolbarVC : UIViewController {
 IBOutlet UIButton* button1;
 IBOutlet UIButton* button2;
 IBOutlet UIButton* button3;
 IBOutlet UIButton* button4;
}
@property(nonatomic, retain) IBOutlet UIButton* button1;
@property(nonatomic, retain) IBOutlet UIButton* button2;
@property(nonatomic, retain) IBOutlet UIButton* button3;
@property(nonatomic, retain) IBOutlet UIButton* button4;

-(IBAction) button1Pressed:(id)sender;
-(IBAction) button2Pressed:(id)sender;
-(IBAction) button3Pressed:(id)sender;
-(IBAction) button4Pressed:(id)sender;

@end

在界面构建器中,我将所有按钮连接到文件的所有者,就像正常一样。

在ToolbarVC Identity检查器中,在类标识下,我将文件所有者类名更改为“ToolbarVC”。

在我的AppViewController中,我实例化了这样的类:

ToolbarVC* tbvc = [[ToolbarVC alloc] init];
photoToolbarVC = tbvc; // this is my class variable
[self.view addSubview:tbvc.view];

ToolbarVC inits,并在其viewDidLoad方法中正确设置按钮名称和大小。

但是,如果我尝试单击按钮,它会以'EXC_BAD_ACCESS'崩溃。如果我尝试将工具栏设置为这样的视图:

[UIView beginAnimations:@"addToolbars" context:nil];
[UIView setAnimationDuration:kFadeDuration];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[photoToolbarVC.view setCenter:CGPointMake(512, 200)];
[UIView commitAnimations];

它给了我这个错误:

***由于未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:'[setValue:forUndefinedKey:]:此类不符合密钥值的密钥值4。'

我已经搜索了两天并尝试了几种方法来修复它,包括initWithNibName:@“ToolbarVC”。

有趣的是,如果我没有将它设置为视图中的动画,它会显示正确命名和大小的按钮(这在创建时在ToolbarVC viewDidLoad方法中发生)。只有当我尝试为它设置动画或单击按钮时,它才会崩溃。

1 个答案:

答案 0 :(得分:0)

讨厌。我找到了。结果是参考文献正在发布并且可以被访问。发布声明两天。更糟糕的是,我在这里发布一小时后发现它。 :(