Iphone NSOperation中显示的UIAlertView-查看控制器无响应
我有一个Iphone NSOperation中显示的UIAlertView-查看控制器无响应,iphone,ios,objective-c,nsoperation,Iphone,Ios,Objective C,Nsoperation,我有一个NSOperation子类,它执行一些繁重的计算。它还有一个委托 如果用户没有提供正确的输入,我将在main方法中验证它,并通过performSelectorOnMainThread创建并显示警报(从我的NSOperation子类),然后调用委托方法,如下所示: -(void) main{ [self performSelectorOnMainThread:@selector(showAnAlert)
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 becomeFirstResponder];
由于您在
NSOperation
中切换多个UI元素,因此文本字段可能无法重新获得完全控制权。谢谢,但我不希望文本字段此时成为响应者。好的。不过,为了以防万一,我建议测试这种方法,只是为了露齿而笑。这可能是您的错误源。刚刚尝试过,不幸的是结果相同:(如果我从操作队列中删除位[aler show];一切正常……:sAh发现了问题!我有两个嵌套的performSelectorOnMainThread!谢谢。