2013-07-08 50 views
0

儘管我的代碼的每一寸都是註釋,但我的應用程序仍然有信號sigabrt錯誤消息。在我的應用程序中只有控制的信號sigabrt

我突然發現這個錯誤,與我的工作無關。刪除它的唯一方法是刪除我的視圖的每個控件。然後,當我添加新的控件時,同樣的錯誤出現!

感謝您的幫助。

以下是錯誤消息:「*由於未捕獲異常終止應用程序'NSUnknownKeyException',原因:'[setValue:forUndefinedKey:]:此類不是關鍵值,它們與密鑰defaut兼容。 *第一擲調用堆棧: (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 
+0

http://stackoverflow.com/questions/3088059/this-class-is-not-key-value-coding-compliant-for-the-key ...有很多可能的解決方案爲你有 –

回答

1

這是因爲你當前在Interface Builder中建立一個用戶界面對象不具有在代碼相關的參考點。當XIB加載時,Cocoa嘗試與所有子視圖進行「IBOutlet連接」。它通過鍵值來完成。看起來發生的情況是,您之前在Interface Builder中設置了一些IBOutlet,並且通過註釋掉所有刪除了插座的代碼,因此iOS無法建立連接。

解決方法是打開您的xib,在Interface Builder中取消所有IBOutlet連接,取消註釋您的IBOutlet屬性,然後重新連接插座。

+0

好的,謝謝您的幫助。我對XIB一無所知,我怎樣才能在XIB中打開我的文件? – GoldXApp

+0

它可能在您的項目中被稱爲MainStoryboard.storyboard。 – danh

+0

我創建了一個具有相同屬性但今天出錯的新項目。我創建,刪除並重新創建每個連接,但每次都有這個錯誤。 如何編輯我的XIB? – GoldXApp