2012-04-07 26 views
0

我已經將UIViewController添加到我的項目中,除了添加按鈕時,它工作正常。 我得到一個錯誤:*終止應用程序由於未捕獲的異常'NSUnknownKeyException',原因:'[setValue:forUndefinedKey:]:此類不是鍵編碼兼容的密鑰取消。在UIViewController上添加按鈕時出現錯誤:'NSUnknownKeyException'

這裏是頭文件和實現文件的代碼。當我使用 助手編輯器並將每個控件的CTRL拖動到頭文件時,所有這些代碼都會自動生成。

SignUpViewController.h:

#import <UIKit/UIKit.h> 

@interface SignUpViewController : UIViewController { 


    IBOutlet UITextField *leader; 
    IBOutlet UITextField *emailAddress; 
    IBOutlet UITextField *firstName; 
    IBOutlet UIScrollView *scrollView; 
    IBOutlet UITextField *lastName; 
} 
- (IBAction)cancel:(id)sender; 
- (IBAction)signUp:(id)sender; 

@end 

SignUpViewController.m

#import "SignUpViewController.h" 

@interface SignUpViewController() 

@end 

@implementation SignUpViewController 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
    } 
    return self; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [scrollView setScrollEnabled:YES]; 
    [scrollView setContentSize:CGSizeMake(320, 1000)]; 

} 

- (void)viewDidUnload 
{ 
    firstName = nil; 
    lastName = nil; 
    emailAddress = nil; 
    leader = nil; 
    [super viewDidUnload]; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return (interfaceOrientation == UIInterfaceOrientationPortrait); 
} 


- (IBAction)cancel:(id)sender { 
} 

- (IBAction)signUp:(id)sender { 
} 
@end 

我不知道爲什麼錯誤正在發生。有任何想法嗎?

+0

這聽起來像是Interface Builder中的問題。將按鈕放在視圖上時,或當您嘗試將「取消」事件附加到其中一個事件時,會出現問題嗎? – Dondragmer 2012-04-07 22:17:13

+0

當我連接按鈕。 – rosst400 2012-04-07 22:27:08

+0

那麼你怎麼附加這個事件呢?你最終會在'Sent Events','Touch Up Inside'下的'Connections'檢查器中提到'cancel'嗎?如果您必須輸入「cancel」事件的名稱,則可能是錯誤的。 [此視頻](http://www.youtube.com/watch?v=7eFbbvVaYOU)可能會有所幫助,尤其是在2:50。 – Dondragmer 2012-04-07 22:43:59

回答

2

當您刪除源代碼中的IBOutlet時,會發生此錯誤,但不要在Interface Builder中取消接線。檢查您的XIB文件以確保沒有舊的屬性剩餘。舊的有線屬性將顯示一個感嘆號(!)。

+0

可能有一個名爲cancel的引用插座,而不僅僅是操作方法。 – lnafziger 2012-04-08 02:39:05

+0

謝謝!這解決了它。 – rosst400 2012-04-08 21:57:02