0

我知道,如果您手动分配和初始化对象,它们可能会更有效地执行(ARC 应该已经处理了大部分,对吗?),但是,如果您只是为了方便使用,性能上真的有那么大的差异吗?每次创建对象的类方法?

例子:

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

对比

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

2 回答 2

2

性能没有有意义的差异。

即使担心这一点也是一种过早的优化,正如 Donald Knuth所说:“过早的优化是编程中所有邪恶(或至少大部分)的根源。”

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

于 2014-10-27T17:05:54.597 回答
0

我建议使用alloc。这不是因为任何真正的性能优势,更多的是出于一致性的考虑。

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

我个人喜欢在我的代码中保持一致。正如 Zaph 提到的,“代码清晰是一个更重要的问题。”

于 2014-10-27T17:20:16.527 回答