2011-04-23 85 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符合。