簡體   English   中英

超時后關閉視圖控制器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM