便捷类方法与alloc init

时间:2014-10-27 16:53:55

标签: objective-c convenience-methods

我理解如果手动分配和初始化对象可能会更有效地执行它们(ARC应该已经处理了大部分内容,对吗?)但是,如果你是这样做,那么性能差异真的很大吗?每次只使用便捷类方法来创建对象吗?

示例:

NSString *message = [[NSSTring alloc] initWithFormat:@"text %@", message];

vs

NSString *message = [NSString stringWithFormat:@"text %@", message];

2 个答案:

答案 0 :(得分:2)

表现没有任何有意义的差异。

即使担心这是一个过早的优化,也像Donald Knuth states:&#34;过早优化是编程中所有邪恶(或至少大部分)的根源。&#34; < / p>

代码清晰度是一个非常重要的问题。

答案 1 :(得分:0)

我建议使用alloc。这不是因为任何真正的性能优势,而是为了一致性。

您可以使用alloc来初始化任何对象,而不是所有对象都可以为您提供类方法。 alloc也可以是正在创建的对象的可视指示符。

我个人希望通过我的代码保持一致。正如Zaph所说,&#34;代码清晰度是一个更重要的问题。&#34;