我有一个NSOperation
子类,可以进行一些繁重的计算。它也有代表。
如果用户没有提供正确的输入,我会在main
方法中验证它并通过performSelectorOnMainThread
我创建并显示警报(来自我的NSOperation
子类)然后我调用委托方法如下:
-(void) main{
[self performSelectorOnMainThread:@selector(showAnAlert)
withObject:nil
waitUntilDone:YES];
[self cancel]; //I need to cancel the operation
return; //don't want to finish main running.
}
- (void) showAnAlert{
//Create an alert here
[alert show];
}
And in my VC I have this:
- (void) aDelegateMethodFromMyOperation{
[self.textField setEndEditing:YES];
}
现在的问题是,一旦我解除警报,我就无法在我的textField中输入任何文字....它会显示键盘上的点击...但它不会接受我的输入...为什么就是它?
答案 0 :(得分:1)
也许试试:
[textField becomeFirstResponder];
由于您正在切换NSOperation
中的多个UI元素,因此文本字段可能无法重新获得完全控制。