2013-04-23 32 views
0

我有一個NSOperation子類,做了一些繁重的計算。它也有一個代表。UIAlertView顯示在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中輸入任何文本....它會顯示鍵盤上的水龍頭......但它不會接受我的輸入...爲什麼那?

回答

1

也許嘗試:

[textField becomeFirstResponder]; 

因爲你通過在NSOperation多個UI元件的開關,它有可能完全控制沒有被文本字段恢復。

+0

謝謝,但我不希望文本字段成爲響應者在這一點上。 – 2013-04-23 00:54:53

+0

好的。只是以防萬一,我建議測試這種方法只是爲了咧嘴笑。它可能是你的錯誤來源。 – 2013-04-23 00:56:04

+0

剛剛嘗試過,不幸的是同樣的結果:(如果我刪除位[aler show];從操作隊列一切工作正常....:s – 2013-04-23 01:00:12

相關問題