objective-c - 附加 CString 是否比附加 ObjC 字符串更好?

标签 objective-c string optimization object nsstring

我正在编写一些代码来处理字符串。在这种特殊情况下,将“?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/

相关文章:

iphone - 在 Objective-c 中实现倒数计时器?

iphone - 描述方法中的断线不起作用

iOS 图形界面刷新

c++ - 连接字符和字符串文字

Javascript 将 PascalCase 转换为 underscore_case/snake_case

javascript - 如何优化窗口调整大小和初始化时的图像自动调整

c# - 移位比Java中的乘法和除法更快吗? 。网?

python - Numpy 向量化零阶插值

iphone - UIPinchGestureRecognizer 的标度值是如何确定的?

c - 在c中使用带循环的字符串