始终在使用xib的新项目上获得错误“不符合关键值编码”

时间:2015-10-11 05:06:30

标签: ios objective-c xcode uiviewcontroller xib

我在使用xib和objective-C创建新应用程序时遇到了一些问题。我使用的是xib而不是storyboard。每次我创建新项目,添加一些标签和按钮,然后它运作良好。它显示了我附加的所有对象。

当我在viewController类上声明它们并将它们与对象

连接时,问题就开始了
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x7aa91da0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key firstLabel.'

这是我的.xib的文件所有者连接视图

File's Owner connection view

这是我的ViewController.m,它包含我声明的插座和动作

#import "ViewController.h"

@interface ViewController ()

@property (weak, nonatomic) IBOutlet UILabel *firstLabel;

- (IBAction)firstButton:(id)sender;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)firstButton:(id)sender {
    NSLog(@"worked!");
}
@end

我被迫在Xcode 7中使用.xib苹果已经落后而不是功能强大的故事板。任何帮助,将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:0)

抱歉,已找到答案here

我应该通过导入我的xib头类(ViewController.h)来编辑AppDelegate.m,然后在为我的类创建实例时我应该使用该类。这段代码就像一个魅力

// create instance for xib
ViewController *viewController = [[[ViewController alloc] init] initWithNibName:@"ViewController" bundle:nil];

谢谢!

答案 1 :(得分:0)

在某个地方的xib文件中,仍然与&#34; firstLabel&#34;你.h文件中不存在的变量。

在Spite中,我看到你的代码都没问题。为了确保并解决此崩溃,请删除&#34; firstLabel&#34;并再次连接。我希望崩溃会解决。

此外,坠机事件清楚地表明只有&#34; firstLabel&#34;变量,但没有别的。