gpt4 book ai didi

ios - objective-c 中复制属性的自定义 setter

转载 作者:可可西里 更新时间:2023-11-01 03:14:40 26 4
gpt4 key购买 nike

我是否必须在自定义 setter 中使用 objective-c 中的复制属性手动复制对象?例如,

我有一个属性(property):

@property (copy, nonatomic) NSString *someString;

和自定义二传手:

- (void)setSomeString:(NSString *)someString
{
//option 1
_someString = someString;
//option 2
_someString = [someString copy];
//do other stuff
}

选项 1 是否足以用于自定义 setter ,或者我必须改用选项 2 才能复制对象?

最佳答案

您可以随心所欲,但您应该使用第二个选项。这是因为如果其他开发人员看到它,他或她将知道您仅通过查看就复制了字符串,这将类似于代码文档:

@property (copy, nonatomic) NSString *someString;

如果您使用保留/分配,最好的做法是在自定义 setter 中保留/分配对象。它将使您的代码更清晰,更有文档记录,并且对其他开发人员而言更容易理解。

关于ios - objective-c 中复制属性的自定义 setter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23103319/

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