gpt4 book ai didi

objective-c - 在 switch 语句中达到默认值后 EXC BAD ACCESS

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

我有这个简单的 switch 语句:

switch ([sender tag]) {
case 0:
[NVAlertView showNVAlertViewFromView:self.view
title:@"STOCK NUMBER"
description:@"XXXXXXXXXXX"
cancelTitle:@"Cancel"
otherTitle:@"DONE"
dismissBlock:^(BOOL canceled, NSString *description) {
if (!canceled) {
[newItem setObject:description forKey:@"stocknum"];
}
}];
NSLog(@"YOP!");
break;

case kDescription:
[NVAlertView showNVAlertViewFromView:self.view
title:@"DESCRIPTION"
description:@"Enter a description here."
cancelTitle:@"Cancel"
otherTitle:@"DONE"
dismissBlock:^(BOOL canceled, NSString *description) {
if (!canceled) {
[newItem setObject:description forKey:@"description"];
}
}];
break;

case kBrandName:
[NVAlertView showNVAlertViewFromView:self.view
title:@"BRAND NAME"
description:@"Enter a brand name here."
cancelTitle:@"Cancel"
otherTitle:@"DONE"
dismissBlock:^(BOOL canceled, NSString *description) {
if (!canceled) {
[newItem setObject:description forKey:@"description"];
}
}];
break;

case kPrice:
[NVAlertView showNVAlertViewFromView:self.view
title:@"PRICE"
description:@"$199.99"
cancelTitle:@"Cancel"
otherTitle:@"DONE"
dismissBlock:^(BOOL canceled, NSString *description) {
if (!canceled) {
[newItem setObject:description forKey:@"description"];
}
}];
break;

default:
NSLog(@"default");
break;
}

每次 a 值达到默认大小写时,它都会打印出“默认”并且程序会因为 EXC BAD ACCESS 而崩溃。这是什么原因造成的?谢谢!

最佳答案

EXC_BAD_ACCESS 通常是由访问已经被释放的对象引起的。

检查此开关 block 之后行中的对象,以确保它们的保留计数 > 0。我也会检查发件人。

关于objective-c - 在 switch 语句中达到默认值后 EXC BAD ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10484104/

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