我已經將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
我不知道爲什麼錯誤正在發生。有任何想法嗎?
這聽起來像是Interface Builder中的問題。將按鈕放在視圖上時,或當您嘗試將「取消」事件附加到其中一個事件時,會出現問題嗎? – Dondragmer 2012-04-07 22:17:13
當我連接按鈕。 – rosst400 2012-04-07 22:27:08
那麼你怎麼附加這個事件呢?你最終會在'Sent Events','Touch Up Inside'下的'Connections'檢查器中提到'cancel'嗎?如果您必須輸入「cancel」事件的名稱,則可能是錯誤的。 [此視頻](http://www.youtube.com/watch?v=7eFbbvVaYOU)可能會有所幫助,尤其是在2:50。 – Dondragmer 2012-04-07 22:43:59