gpt4 book ai didi

objective-c - NSData 类别中的潜在内存泄漏

转载 作者:行者123 更新时间:2023-12-01 18:01:46 25 4
gpt4 key购买 nike

使用 XCode 分析器时,我收到一条消息:

Potential leak of an object allocated



这是我的 NSData(String) 中的代码类别,代码为:
- (NSString*) utf8String
{
return [[NSString alloc] initWithData:self encoding:NSUTF8StringEncoding];
}

现在我该如何解决这个问题?当我将语句更改为:
- (NSString*) utf8String
{
return [[[NSString alloc] initWithData:self encoding:NSUTF8StringEncoding] autorelease];
}

我的应用程序在我调用 utf8String 的线路上崩溃了.

最佳答案

cocoa 命名约定建议所有方法都返回自动释放的对象,但名称以“init”、“copy”或“new”开头的方法除外。静态分析器知道并检查这一点。

你有两个选择。您可以将该方法重命名为-newUTF8String,或者您可以返回一个自动释放对象并在您要存储此方法的返回值时保留它。

我更喜欢后者,但两者都是有效代码。

关于objective-c - NSData 类别中的潜在内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8603296/

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