[英]Dismissing view controller after timeout
我有一個模態視圖控制器,具有兩個操作:確認和取消。 如果用戶點擊這兩個按鈕之一,則會發生某些事情,並且視圖控制器將自動關閉。
我需要處理用戶在一定時間間隔內不執行任何操作的情況。 在這種情況下,應關閉視圖控制器。 我試圖在viewDidLoad:
方法內添加以下指令:
// Timeout handling
[self performSelector:@selector(dismissViewController) withObject:self afterDelay:10.0];
我的dismissViewController
選擇器與名稱建議一樣簡單:
- (void)dismissViewController {
[self dismissViewControllerAnimated:YES completion:nil];
}
無論如何,當時間到期時,我的應用程序崩潰了。 我從控制台收到以下錯誤:
2015-12-29 12:57:00.082 Test[826:292764] *** Assertion failure in void _UIPerformResizeOfTextViewForTextContainer(NSLayoutManager *, UIView<NSTextContainerView> *, NSTextContainer *, NSUInteger)(), /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIFoundation/UIFoundation-432/UIFoundation/TextSystem/NSLayoutManager_Private.m:1551
2015-12-29 12:57:00.083 Test[826:292764] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Only run on the main thread!'
有人可以解釋一下為什么嗎?
試試這個:
[self performSelector:@selector(dismissViewController) withObject:nil afterDelay:10.0];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.