objective-c - objC 中的 initWith 与 arrayWith?

标签 objective-c xcode memory-management collections initialization

创建数组(或使用其各自工厂方法的任何其他集合)的优缺点是什么

[[NSArray alloc] init]

对比

[NSArray array]

在 Objective-C 中?似乎后一种工厂方法让我们不用担心内存管理,所以我很好奇使用 alloc + init 是否有任何意义,尽管我现在对这两者之间的所有差异以及为什么会更感兴趣选择一个而不是另一个。

最佳答案

在 ARC 之前,有一个关键的区别。 alloc/init 情况返回一个保留 对象,而array 情况返回一个自动释放 对象。

对于 ARC,差异就不那么重要了。可能第一种情况效率更高,但在大多数情况下它们是可以互换的。

关于objective-c - objC 中的 initWith 与 arrayWith?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13170466/

相关文章:

ios - 如何使用tableview删除核心数据中的数据

xcode - 有没有一种快速方法可以在 Xcode 中检索 OpenGL ES 函数和符号的文档?

ios - JSONDecoder 在 TestFlight/AppStore 上崩溃

ios - 如何使用 NSFetchedResultsController 来停止已解除的 View Controller 以监听 coredata 更改?

ios - 如何以一般形式表示 nsstring 以进行搜索或比较?

ios - 自定义 UI 导航栏和按钮

ios - Objective-C 尝试为 NSArray 中的每个项目创建标签 - 不起作用

objective-c - Xcode 自定义 shell 脚本正在减慢编译时间

c - malloc 对内存对齐有哪些保证?

memory-management - iOS 7 内存问题