gpt4 book ai didi

objective-c - ARC - 分配到一个强大的属性中。造成泄漏?

转载 作者:太空狗 更新时间:2023-10-30 03:19:07 26 4
gpt4 key购买 nike

在 ARC 中,它是否会造成内存泄漏以将 alloc 放入 @property (strong)

// MyClass.h
@property (strong) NSString *myString;

// MyClass.m
@synthesize myString=_myString;

- (void)viewDidLoad
{
self.myString = [[NSString alloc] initWithFormat:@"Test %@", otherString];
}

我知道在手动内存管理中,等价物会造成泄漏

// MyClass.h
@property (retain) NSString *myString;

// MyClass.m
@synthesize myString=_myString;

- (void)viewDidLoad
{
self.myString = [[NSString alloc] initWithFormat:@"Test %@", otherString];
}

- (void)dealloc
{
[_myString release];
}

ARC 是否能够正确处理顶部示例?它是否优化了其中一个保留?或者也许在 dealloc 中释放两次?

最佳答案

这在 ARC 下完全有效。

我建议阅读 ARC 文档,以便更轻松地相信它所提供的内容。 http://clang.llvm.org/docs/AutomaticReferenceCounting.html Mike Ash 有一篇关于它如何工作的很棒的博客文章 http://www.mikeash.com/pyblog/friday-qa-2011-09-30-automatic-reference-counting.html

关于objective-c - ARC - 分配到一个强大的属性中。造成泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8173761/

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