2011-10-24 52 views
0

我正在使用xCode 4.3,這很奇怪。我已經正確初始化我的UITextField,但是當我在IBAction爲叫它它給了我EXEC_BAD_ACCESS>EXEC_BAD_ACESS用於保留對象

in .h File 
interface ......... 
{ 
IBOutlet UITextField * usernameField; 
} 
@property(nonatomic,retain) UITextField * usernameField; 

in .m File 

@implementaion ............ 

@synthesize usernameField; 

- (IBAction) editingEnded:(id)sender 
{ 

    [usernameField resignFirstResponder]; 
} 
+0

愚蠢的問題,但是在界面生成器中連接的usernamefield? –

+0

是的,我已經附加了退出事件的結束事件IBAction,但是當我按'返回'它只是崩潰 – Amrit

+1

如果它甚至崩潰在包含日誌語句的代碼只有那麼它與文本字段伊娃沒有關係,你的問題是,無論上述代碼的對象已被釋放(該文本字段不會保留它的代表) – jrturton

回答

0

我認爲它給你的財產應該有IBOutlet中。

@property(nonatomic,retain) IBOutlet UITextField * usernameField; 

解決了這個問題嗎?

+0

剛剛嘗試,這應該不重要,但仍然崩潰 – Amrit

+0

你可以嘗試改變它從[usernameField resignFirstResponder]到[id resignFirstResponder]看看是否有效。 –

+0

你的意思是[發件人resignFirstResponder],即使不會工作 – Amrit

0

我認爲你應該實現UITextFieldDelegate Protocol,這樣你可以在用戶通過代理的方法「結束編輯」時管理事件。如果我理解正確的話,你想要做的是「辭職急救員」,所以我建議你做到以下幾點:

- (BOOL)textFieldShouldReturn:(UITextField *)textField{ 
    [textField resignFirstResponder]; 
    return NO; 
}