NSString stringWithFormat很慢

时间:2012-11-26 16:20:22

标签: iphone objective-c ios c nsstring

在Objective-C中,方法stringWithFormat:似乎非常慢,实际上是我们的一个应用程序中的一个大瓶颈(我们使用分析器来查找它)。 有没有办法优化它或使用更快的C代码?

2 个答案:

答案 0 :(得分:8)

是 在c http://www.cplusplus.com/reference/cstdio/sprintf/中使用sprintf 之后用[NSString stringWithUTF8:];

在NSString中推送char *

示例:

char cString[255];
sprintf (cString, "%d", 36);
NSString* OCstring = [[NSString alloc] initWithUTF8String:cString];

答案 1 :(得分:6)

如果你正在进行大量的字符串操作和操作 - 听起来你很可能会这样做,并且NSString确实成为你的应用程序的瓶颈,我建议尝试使用C ++来满足你的字符串需求那么C。

Apple承认虽然NSString非常棒,但事实上,它是顶级的,因为他们的iOS自动更正算法会遇到类似的问题,NSString计算速度太慢而无法进行比较许多事情,许多东西。然后他们切换到C ++并获得他们所需的所有性能。

只是一个建议。你肯定应该提出一些代码,我很惊讶这种情况发生在你身上,除非你正在做一些很棒的新功能!