ios - 返回对象的副本

标签 ios objective-c

我无法理解这两段代码之间的区别,因为它们的行为方式相同。

- (NSArray *)handleImages
{
     NSMutableArray *images = [NSMutableArray new];
     //...Do something with the array..
     return [images copy];
}


- (NSArray *)handleImages
{
     NSMutableArray *images = [NSMutableArray new];
     //...Do something with the array..
     return images;
}

最佳答案

该方法设置为返回一个不可变数组。第一个版本在返回之前将它创建的可变数组转换为不可变数组。第二个版本只是返回可变数组。第一个版本稍微更干净,因为调用者需要一个不可变数组。

关于ios - 返回对象的副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24016339/

相关文章:

ios - 'GIDSignIn' 没有可见的 @interface 声明选择器 'handleURL :

ios - 在 Xcode 中管理可重用类别库

objective-c - iOS 开发 : timeIntervalSince1970 not updating when in a NSRunLoop

ios - 如何以编程方式展开到 2 个不同的 VC

ios - UITextField - 下一个按钮

ios - MessageUI 框架 - 图像不显示在 iPhone 上的撰写 View 中

ios - ios objective-c 的邮件撰写 View Controller 在 swift 中被延迟了吗?

ios - 如何确保相同的继承层次结构,例如对于 MVVM

objective-c - NSNumber 没有被保留?

iphone - 编辑时 uitableview 单元格上的长按问题