我有一个带有文本字段的TextViewCell,我在tableview中使用它。我需要当前的视图控制器作为委托。没有任何效果,在我的搜索中,我找到了下面的代码,我在initWithNib方法中实现了这个代码:
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self selector:@selector(textDidEndEditing:) name:NSTextDidEndEditingNotification object:tableView];
但是我收到错误NSTextDidEndEditingNotification Undeclared(首次使用函数)
为什么我会收到该错误?我该如何解决这个问题?
由于
答案 0 :(得分:2)
您正在使用的通知属于NSTextField,它属于Cocoa Touch的大哥,桌面Cocoa。你想要的是UITextFieldTextDidEndEditingNotification,它是由iPhone上的文本控件UITextField发出的通知。文档为here。
HTH。
答案 1 :(得分:2)
@interface MyViewController : UIViewController <UITextFieldDelegate>
接下来,您希望在实现文件中使用以下方法:
- (void)textFieldDidEndEditing:(UITextField *)textField
{
//My text field has been edited!
}
如果使用Interface Builder构建应用程序,可以将视图控制器设置为委托,方法是将代理插座中的连接拖到XIB中的文件所有者。
否则,您只需使用以下代码:
myTextField.delegate = self;
应该这样做!