开发者

iOS 3.1.2 [UIViewController dismissModalViewControllerAnimated:] creates infinite recursion

开发者 https://www.devze.com 2023-01-25 05:26 出处:网络
I have some code that works fine on my iPod Touch running some 4.0-series iOS as well as the simulator that comes with the iOS SDK 4.1.But when I call [UIViewController dismissModalViewController:] on

I have some code that works fine on my iPod Touch running some 4.0-series iOS as well as the simulator that comes with the iOS SDK 4.1. But when I call [UIViewController dismissModalViewController:] on an iPhone 2 running iOS 3.1.2 it get an infinite recursion, eventually crashing.

I have a view controller that opens a table view where the user selects a document to open. Upon selecting a document my table view controller's delegate calls the parent view controllers dismissModalViewController method. I think it is because I'm closing the vie开发者_如何学Cw controller whose code is running that causes this.

dismissModalViewController is documented to be available in iOS 2.0 and later.

How can I close the UIViewController that's open from its own code?


I figured my problem might be heap corruption from some previous code. A way to debug that is to comment off snippets of previous code to see whether the bug would go away or come back. Almost immediately I found that I was calling dismissModalViewControllerAnimated: on the current view controller's parent controller. Why that works in iOS 4.x I have no idea. The problem I face is that I have two modal dialogs that I need to close simultaneously, which I cannot get working, but that is a different question.

0

精彩评论

暂无评论...
验证码 换一张
取 消