0

尽管我的代码的每一寸都是注释性的,但我的应用程序仍有一个信号 sigabrt 错误消息。

我突然遇到了这个与我的工作无关的错误。删除它的唯一方法是删除我的视图的每个控件。然后,当我添加新控件时,出现同样的错误!

谢谢你的帮助。

以下是错误消息:“ * 由于未捕获的异常 'NSUnknownKeyException' 导致应用程序终止,原因:'[ setValue:forUndefinedKey:]:此类不符合键默认值的键值编码。” *第一次抛出调用堆栈:(0... ...1ff5) libc++abi.dylib: 终止调用抛出异常 (lldb)"

CalViewController.m

#import "CalViewController.h"



@implementation CalViewController
//@synthesize resultat;
//@synthesize saisieDistance;
//@synthesize saisieTemps;
//@synthesize saisiePoids;
//@synthesize saisieTaille;
//@synthesize defaut;

////@synthesize poidsParDefaut;
////@synthesize tailleParDefaut;
//
//
//double temps;
//double distance;
//double poids;
//double taille;
//double vitesse;
//double tailleDefaut = 180;
//double poidsDefaut=75;
//
//- (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)defautAction:(id)sender {
//    if (defaut.on) {
//        saisieTaille.hidden=YES;
//        saisiePoids.hidden=YES;
//        //tailleParDefaut.hidden=NO;
//        //poidsParDefaut.hidden=NO;
//    }
//    else {
//        saisieTaille.hidden=NO;
//        saisiePoids.hidden=NO;
//        //tailleParDefaut.hidden=YES;
//        //poidsParDefaut.hidden=YES;
//}
//
//}
//
//- (IBAction)tailleAction:(id)sender {
//    taille = [[saisieTaille text] doubleValue];
//    
//}
//
//- (IBAction)poidsAction:(id)sender {
//    poids = [[saisiePoids text] doubleValue];
//}
//
//- (IBAction)tempsAction:(id)sender {
//    temps = [[saisieTemps text] doubleValue];
//}
//
//- (IBAction)distanceAction:(id)sender {
//    distance = [[saisieDistance text] doubleValue];
//}
//
//- (IBAction)calcul:(id)sender {
//    if (defaut.on)
//        vitesse=temps+distance+poidsDefaut+tailleDefaut;
//    else
//        vitesse=temps+distance+poids+taille;
//    resultat.text = [NSString stringWithFormat:@"%f", vitesse];
//}
//
//- (IBAction)saisieReturn:(id)sender;
//{
//    [sender resignFirstResponder];
//}


@end

CalViewController.h

//{
//    double distance;
//    double temps;
//    double vitesse;
//}
//
//
////@property (weak, nonatomic) IBOutlet UILabel *tailleParDefaut;
////@property (weak, nonatomic) IBOutlet UILabel *poidsParDefaut;
//
//@property (weak, nonatomic) IBOutlet UITextView *resultat;
//@property (weak, nonatomic) IBOutlet UITextField *saisieDistance;
//@property (weak, nonatomic) IBOutlet UITextField *saisieTemps;
//@property (weak, nonatomic) IBOutlet UITextField *saisieTaille;
//@property (weak, nonatomic) IBOutlet UITextField *saisiePoids;
//@property (weak, nonatomic) IBOutlet UISwitch *defaut;
//
//
//- (IBAction)distanceAction:(id)sender;
//- (IBAction)tempsAction:(id)sender;
//- (IBAction)tailleAction:(id)sender;
//- (IBAction)poidsAction:(id)sender;
//- (IBAction)calcul:(id)sender;
//- (IBAction)saisieReturn :(id)sender;
//- (IBAction)defautAction:(id)sender;

@end
4

1 回答 1

1

这是因为您有一个当前在 Interface Builder 中设置的用户界面对象,该对象在代码中没有关联的引用点。当 XIB 加载时,Cocoa 尝试与所有子视图建立“IBOutlet 连接”。它通过键值来做到这一点。看起来发生的事情是,您之前在 Interface Builder 中设置了一些 IBOutlets,并且通过注释掉所有代码,您已经消除了这些出口,因此 iOS 无法建立连接。

解决方案是打开您的 xib,消除 Interface Builder 中的所有 IBOutlet 连接,取消注释您的 IBOutlet 属性,然后重新连接插座。

于 2013-07-08T18:14:16.437 回答