另一个 iPhone 内存泄漏问题

发布于 2024-12-03 07:20:53 字数 398 浏览 1 评论 0原文

我的 jsonParser 出现内存泄漏。

这是我的代码

- (id) objectWithUrl:(NSURL *)url {
SBJsonParser *jsonParser = [SBJsonParser new];
NSString *jsonString = [self stringWithUrl:url];

// Parse the JSON into an Object
return [jsonParser objectWithString:jsonString error:nil]; }

这是我收到的错误消息,第 192 行分配并存储到“jsonParser”中的对象的潜在泄漏

请帮忙。

I have memory leak on jsonParser.

Here is my code

- (id) objectWithUrl:(NSURL *)url {
SBJsonParser *jsonParser = [SBJsonParser new];
NSString *jsonString = [self stringWithUrl:url];

// Parse the JSON into an Object
return [jsonParser objectWithString:jsonString error:nil]; }

This is the error message I'm getting, potential leak of an object allocated on line 192 and stored into 'jsonParser'

Please help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱你不解释 2024-12-10 07:20:53

+new 相当于 [[SBJsonParser alloc] init] 调用,因此您负责释放 jsonParser 对象。当您在 return 语句中使用它时,修复泄漏的最简单方法是在创建后立即自动释放它:

SBJsonParser *jsonParser = [[SBJsonParser new] autorelease];

+new is equivalent to the [[SBJsonParser alloc] init] call so you're responsible to release jsonParser object. As you use it in return statement the easiest way to fix leak will be to autorelease it right after creating:

SBJsonParser *jsonParser = [[SBJsonParser new] autorelease];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文