2011-04-23 84 views
0

我有一個UIViewController子類有一個UITextField。它從xib加載。但是,只要在初始化視圖(例如,在viewDidLoad)後嘗試訪問roomName實例變量,調試器就會將其顯示爲UITextInputTraits。UITextField更改爲UITextInputTraits

這是我的界面。

@interface AddRoomViewController : UIViewController <UITextFieldDelegate>{ 
    IBOutlet UITextField *roomName; 
    id<AddRoomDelegate> *delegate; 
} 

- (IBAction)textFieldDidBeginEditing:(UITextField *)textField; 

- (void) done; 

@property (nonatomic, copy) UITextField *roomName; 
@property (nonatomic, assign) id <AddRoomDelegate> *delegate; 
@end 

我是iOS開發新手,所以我確信我只是錯過了一個連接或其他東西,但我很難過。

編輯:據我所知,這是一個協議,但是當我試圖讓從UIText字段中的文本,我得到了以下錯誤:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITextInputTraits text]: unrecognized selector sent to instance 0x4d16170' 
+0

'UITextField'符合'UITextInputTraits'協議。 http://developer.apple.com/library/ios/documentation/uikit/reference/UITextInputTraits_Protocol/Reference/UITextInputTraits.html#//apple_ref/occ/intf/UITextInputTraits – BoltClock 2011-04-23 20:25:04

+1

不確定這部分問題是否存在,但我認爲在您的屬性定義中複製'UITextField'不是一個好主意。你爲什麼這樣做有一個特別的原因? – conmulligan 2011-04-24 01:42:30

+0

確實是這個問題。我刪除了屬性定義(沒有理由爲什麼我在那裏),它的工作原理!隨意添加,作爲答案,我會很樂意接受它。謝謝! – talanb 2011-04-24 04:10:37

回答

0

我刪除了我的UITextField的@property定義,並解決了問題。

+0

如果文本字段在xib文件中,我們也可以使用「@property(nonatomic,weak)..」定義。 – srik 2013-08-15 09:44:35

0

UITextInputTraits是一種協議,它UITextField符合。