我的应用程序有一些“问题”......好吧,它在以UIViewController
模态显示的方式崩溃,用户输入信息UITextFields
并通过 MapView 跟踪他的位置。让我们称这个视图控制器“ MapViewController
”
当用户提交表单时,我调用一个不同的ViewController
- 再次模态 - 处理此信息并相应地回答第三个,然后使用展开 segues 返回到 MenuVC,然后调用MapViewController
等等。这个序列重复了很多次,但它总是在MapViewController
.
查看崩溃日志,我认为 MapView 可能是 UI 中的这个或某些元素的问题(因为UIKit
框架)。我尝试使用NSZombie
它来跟踪内存问题,但它并没有给我关于正在发生的事情的线索。
这是崩溃日志
Hardware Model: iPad3,4
Process: MyApp [2253]
OS Version: iOS 6.1.3 (10B329)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000044
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 IMGSGX554GLDriver 0x328b9be0 0x328ac000 + 56288
1 IMGSGX554GLDriver 0x328b9b8e 0x328ac000 + 56206deallocated instance
2 IMGSGX554GLDriver 0x328bc2f2 0x328ac000 + 66290
3 IMGSGX554GLDriver 0x328baf44 0x328ac000 + 61252
4 libGPUSupportMercury.dylib 0x370f86be 0x370f6000 + 9918
5 GLEngine 0x34ce8bd2 0x34c4f000 + 629714
6 GLEngine 0x34cea30e 0x34c4f000 + 635662
7 GLEngine 0x34c8498e 0x34c4f000 + 219534
8 GLEngine 0x34c81394 0x34c4f000 + 205716
9 VectorKit 0x3957f4de 0x394c7000 + 754910
10 VectorKit 0x3955552e 0x394c7000 + 582958
11 VectorKit 0x394d056e 0x394c7000 + 38254
12 VectorKit 0x394d0416 0x394c7000 + 37910
13 VectorKit 0x394cb7ca 0x394c7000 + 18378
14 VectorKit 0x394c9804 0x394c7000 + 10244
15 VectorKit 0x394c86a2 0x394c7000 + 5794
16 QuartzCore 0x354a07a4 0x35466000 + 239524
17 QuartzCore 0x354a06fc 0x35466000 + 239356
18 IOMobileFramebuffer 0x376f8fd4 0x376f4000 + 20436
19 IOKit 0x344935aa 0x34490000 + 13738
20 CoreFoundation 0x33875888 0x337e9000 + 575624
21 CoreFoundation 0x338803e4 0x337e9000 + 619492
22 CoreFoundation 0x33880386 0x337e9000 + 619398
23 CoreFoundation 0x3387f20a 0x337e9000 + 614922
24 CoreFoundation 0x337f2238 0x337e9000 + 37432
25 CoreFoundation 0x337f20c4 0x337e9000 + 37060
26 GraphicsServices 0x373ad336 0x373a8000 + 21302
27 UIKit 0x3570e2b4 0x356b7000 + 357044
28 MyApp 0x000ea12e 0xe9000 + 4398
29 MyApp 0x000ea0e4 0xe9000 + 4324
我想这就是全部,另外,我想问你:如果你使用的是 unwind segues,那么你就是从内存堆中释放视图控制器,对吧?同时,执行 segue 可以让您实例化这些控制器。从技术上讲,如果您理解我的话,MenuVC 应该是应用程序生命周期中唯一在堆中存活的 VC。