[英]EXC_BAD_ACCESS Error?
在我的应用中是一个非常非常乏味的错误! 几乎每次我构建应用程序时,都会出现“ EXC_BAD_ACCESS”错误! 没关系,可能会有错误,但是如果我再次尝试构建应用程序,则错误会再次出现,但会出现另一行代码!
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UIStoryboard *mainStoryboard = nil;
if ([[UIScreen mainScreen] bounds].size.height <= 480) {
mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
} else {
mainStoryboard = [UIStoryboard storyboardWithName:@"Main4er" bundle:nil];
}
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window setRootViewController:[mainStoryboard instantiateInitialViewController]];
[self.window makeKeyAndVisible]; // HERE THE ERROR COMES SOMETIMES
return YES; }
我不知道我的错在哪里! 我不使用发行版,请保留-开始开发应用程序时将其关闭!
有时错误来自以下行:
UILabel * labelNiederlage = [[UILabel alloc] initWithFrame:CGRectMake(243, -2, 40, 26)];
有人可以帮我吗?
就像一个想法一样,如果您使用情节提要,则可以安全地删除这些行
UIStoryboard *mainStoryboard = nil;
if ([[UIScreen mainScreen] bounds].size.height <= 480) {
mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
} else {
mainStoryboard = [UIStoryboard storyboardWithName:@"Main4er" bundle:nil];
}
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window setRootViewController:[mainStoryboard instantiateInitialViewController]];
制作两个不同屏幕高度的情节提要板也是一个坏主意,因为您可以在单个情节提要中制作动态高度的元素
可能是因为您不使用属性,您的应用程序失败了, mainStoryboad
必须是(strong, nonatomic)
并且必须具有对指针的强引用(使用属性时会自动维护该指针,即self.mainStoryboad
;
从几行代码中很难分辨出来。 正如Dig所说,您的分镜脚本可能不会保留。 不过,我还是建议采用以下方法:
1)确保您的某处没有悬空指针,这很可能是问题的根源。
->看一下您对情节提要板(以及其他!)的处理方式。 你以某种方式保留它吗? 按照约定,storyboardWithName返回一个自动释放的对象。 如果没有任何帮助,您可能需要自己保留。 其他人也一样。
->在启用僵尸模式的情况下运行乐器,您可能会发现一些有趣的东西。 我建议启用此功能并保留数量
2)如果您不能通过此工具发现它,请在一个几乎没有故事板的新项目中构建一个简单的测试用例。 这可能有助于找出问题所在。
3)将您的代码与一个有效的示例进行比较。 他们有很多。 只需找出其中之一即可。
希望这可以帮助。
每当您遇到此类错误时,您都可以使用“ 僵尸对象”来提示发生了什么问题。
转到“ YourProjectName” (停止btn旁边的右侧) ->“编辑方案”->“启用Guard Malloc和启用Zombi对象” 。 然后只需设置制动点,看看发生了什么。
但是,这是相当昂贵的操作,因此您可能要在解决问题时将其关闭。
问候,
托里斯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.