【发布时间】:2020-09-15 17:30:12
【问题描述】:
我发现objc_setAssociatedObject 的 NSString 存在内存泄漏
测试代码:
int i = 0;
while (YES) {
@autoreleasepool {
NSString *string = [[NSString alloc] initWithFormat:@"%d", i];
// Comment this line. Then the memory leak is gone.
objc_setAssociatedObject(string, "key", [[NSObject alloc] init], OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
i++;
}
NSObject 无法释放。不确定NSString。
如果我评论代码objc_setAssociatedObject(string, "key", [[NSObject alloc] init], OBJC_ASSOCIATION_RETAIN_NONATOMIC);。没有内存泄漏。
有人知道发生了什么吗?
【问题讨论】:
标签: ios objective-c memory memory-leaks associated-object