代码之家  ›  专栏  ›  技术社区  ›  just_another_coder

子类视图控制器出现错误“不符合键值编码”

  •  0
  • just_another_coder  · 技术社区  · 15 年前

    我已经连续两天试图解决这个错误,但似乎找不到问题。

    @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
    

    在InterfaceBuilder中,我将所有按钮连接到文件的所有者,就像平常一样。

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

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

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

    但是,如果我试图点击按钮,它会崩溃与'EXC\u坏访问'。如果我尝试在视图中设置工具栏的动画,如下所示:

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

    它给了我这个错误:

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

    1 回复  |  直到 15 年前
        1
  •  0
  •   just_another_coder    15 年前

    讨厌。我找到了。原来引用正在被释放,可以访问。两天之后发布声明。更糟的是,我在这里贴了一个小时后才发现。:(

    推荐文章