gpt4 book ai didi

Xcode 分析器提示 CFContextRef 存储在 "assign"@property 中

转载 作者:行者123 更新时间:2023-12-03 17:46:19 27 4
gpt4 key购买 nike

我有一个 Cocoa 类,需要长时间保留位图上下文才能进行像素操作。

@property (assign, nonatomic) CGContextRef cacheContext; // block of pixels

在我的类初始化中:

// this creates a 32bit ARGB context, fills it with the contents of a UIImage and returns a CGContextRef
[self setCacheContext:[self allocContextWithImage:[self someImage]]];

在释放中:

CGContextRelease([self cacheContext]);

Xcode 分析器公司关于 init 泄漏了 CGContextRef 类型的对象,并且在 dealloc 中提示“不正确地减少不属于调用者的对象”。

我相信这一切都很好并且运行完美。

我怎样才能告诉 Xcode 这一切都很好并且不要提示它?

最佳答案

好的,考虑到这里的讨论,我认为可以解决分析器投诉,让您保留形式属性,并且不违反任何内存管理规则。

声明只读属性:

@property (readonly) CGContextRef cacheContext;

创建ivar时直接赋值

_cacheContext = [self allocContextWithImage:self.someImage];

dealloc中释放它:

- (void)dealloc
{
CGContextRelease(_cacheContext);
[super dealloc];
}

关于Xcode 分析器提示 CFContextRef 存储在 "assign"@property 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59439365/

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