我正在编写一些代码来处理字符串。在这种特殊情况下,将“?partnerId=30”附加到 iTunes Affiliate 链接的 URL。这是一个原始字符串,完全静态。我在想,这样做更好吗:
urlString = [urlString stringByAppendingFormat:@"%@", @"?partnerId=30"];
或者:
urlString = [urlString stringByAppendingFormat:@"%s", "?partnerId=30"];
我认为最好不要实例化整个 Objective-C 对象,但我从未见过这样做的情况。
最佳答案
使用 @""语法声明的字符串是常量,并且在您的代码运行时已经存在于内存中,因此使用它们不会造成分配损失。
您可能会发现它们稍微快一些,因为它们知道自己的长度,而 C 字符串需要循环才能找出它们的长度。
通过不使用格式字符串,您可以获得更切实的性能改进(尽管仍然很小):
urlString = [urlString stringByAppendingString:@"?partnerId=30"];
关于objective-c - 附加 CString 是否比附加 ObjC 字符串更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7780044/