gpt4 book ai didi

objective-c - 是否在(保留)正确的@property 上分配 self.string = @""?

转载 作者:搜寻专家 更新时间:2023-10-30 20:01:10 25 4
gpt4 key购买 nike

某种哲学问题。将常量字符串分配给(保留的)@property 是否合适?或者,我应该做 self.string = [NSString stringWithString:@""];

是否存在内存泄漏?如果它被过度释放怎么办?

它是一个常量字符串,那么它的行为方式是否与 NSString 对象相同?

如果属性是 (assign) 是否意味着它在运行循环后将无效?

最佳答案

是的,没关系。无论您采用哪种方式,常量字符串仍将被编译到您的程序中(因为无论如何您都必须在 [NSString stringWithString:@""] 中使用它)。常量字符串实际上并没有被保留/释放,但重要的是它的语义:你正在分配一个字符串(就你而言,它有一个 net +0 retainCount - 你没有 分配它,所以你不拥有它)到一个将拥有它的属性(property)。如果该属性是 (assign),那么它可能仍然可以使用常量字符串,但在自动释放池耗尽后它将在语义上无效。

关于objective-c - 是否在(保留)正确的@property 上分配 self.string = @""?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7195481/

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