gpt4 book ai didi

iphone - pushViewController 在 iPad 上崩溃

转载 作者:行者123 更新时间:2023-11-28 20:30:46 25 4
gpt4 key购买 nike

我正在做一些非常简单的事情。试图 pushViewController。它在 iPhone 上运行良好,但在 iPad 上,它崩溃了!信号传输:

libsystem_kernel.dylib`__pthread_kill:
0x35d85324: mov r12, #328
0x35d85328: svc #128
0x35d8532c: blo 0x35d85344 ; __pthread_kill + 32
0x35d85330: ldr r12, [pc, #4] ; __pthread_kill + 24
0x35d85334: ldr r12, [pc, r12]
0x35d85338: b 0x35d85340 ; __pthread_kill + 28
0x35d8533c: stmibeqr4, {r5, r6, r7, r10, r11}
0x35d85340: bx r12
0x35d85344: bx lr

有什么想法吗?谢谢!

Principal *cvc;

NSString *deviceType = [UIDevice currentDevice].model;
if([deviceType isEqualToString:@"iPhone"] || [deviceType isEqualToString:@"iPod touch"]) {
cvc = [[Principal alloc] initWithNibName:@"Principal" bundle:nil];
} else {
cvc = [[Principal alloc] initWithNibName:@"Principal_iPad" bundle:nil];
}

[cvc setImg:flippedImage];

if([deviceType isEqualToString:@"iPhone"] || [deviceType isEqualToString:@"iPod touch"]) {

[self.navigationController pushViewController:cvc animated:YES];

} else {

[self.navigationController pushViewController:cvc animated:YES];

}

[cvc release];

最佳答案

我认为检查 UI 界面习惯用法要容易得多:

    Principal *cvc;
if(UI_USER_INTERFACE_IDIOM() = UIUserInterfaceIdiomPhone) {
cvc = [[Principal alloc] initWithNibName:@"Principal" bundle:nil];
} else {
cvc = [[Principal alloc] initWithNibName:@"Principal_iPad" bundle:nil];
}
[cvc setImg:flippedImage];
[self.navigationController pushViewController:cvc animated:YES];
[cvc release];

此外,您在最后一个 if 语句的两种情况下都在做同样的事情,因此您可以像我在代码中所做的那样删除它。

为了帮助您更多,我需要查看崩溃前抛出的实际异常文本。

我可以想象问题是 self.navigationController 是在 iPhone 而不是在 iPad 上定义的,或者用于 iPad 的初始化程序返回一个 nil VC , 并推送一个 nil View Controller 将抛出异常。

关于iphone - pushViewController 在 iPad 上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12188225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com