gpt4 book ai didi

objective-c - 奇怪的 BAD_ACCESS 错误

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

这听起来可能是个新手问题,但我是 iOS 开发新手,

最近我切换到 ARC 并在我的代码中遇到以下问题。我已经使用以下 init 方法实现了一个类

- (id)init
{
self = [super init];
if (self) {
TokenManager* tokenManager = [[TokenManager alloc] initWithApikey:<my valid token>];
mRequest = [[GeoCodingRequest alloc] initWithApikey:apiKey withOptions:nil tokenManager:tokenManager];
mRequest.delegate = self;
}
return self;
}

接口(interface)中的mRequest是这样声明的__strong GeoCodingRequest* mRequest;

在同一个类的其他方法中,我像这样向 mRequest 发送消息

[mRequest findObject:<some valid array> around:<some valid location> withDistance:<some valid radius>];

当消息发送到对象应用程序崩溃并显示以下消息时

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSCFString appendRequestWithToken:]:无法识别的选择器发送到实例 0x8974640”

findObject: around: withDistance: - 是公共(public)库中的一个方法,所以我无法访问它的实现。

请帮助我理解为什么会发生这种崩溃?!我猜它来自 ARC _strong/_weak 限定词使用或 smth。

最佳答案

该消息表示 mRequest 已被释放,字符串现在正在使用之前为 mRequest 分配的内存。

您应该在启用 Zombies 的情况下运行您的应用,以了解何时释放 mRequest

关于objective-c - 奇怪的 BAD_ACCESS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9499133/

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