超时后解除视图控制器

时间:2015-12-29 12:02:49

标签: ios objective-c

我有一个带有两个动作的模态视图控制器:确认和取消。如果用户点击这两个按钮中的一个按钮,则会发生一些事情并且视图控制器会自动关闭。

当用户在一段时间内没有执行任何操作时,我需要处理这种情况。在这种情况下,应取消视图控制器。我试图在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!'

有人可以解释一下为什么吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

Gson gson = new GsonBuilder().create();

JsonObject job = gson.fromJson(JsonString, JsonObject.class);
JsonElement entry=job.getAsJsonObject("results").getAsJsonObject("map").getAsJsonArray("entry");

String str = entry.toString();

System.out.println(str);