我有一个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'
'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
不确定这部分问题是否存在,但我认为在您的属性定义中复制'UITextField'不是一个好主意。你为什么这样做有一个特别的原因? – conmulligan 2011-04-24 01:42:30
确实是这个问题。我删除了属性定义(没有理由为什么我在那里),它的工作原理!随意添加,作为答案,我会很乐意接受它。谢谢! – talanb 2011-04-24 04:10:37