我在这里看到几个问题/答案,表明在Objective-C中获取整数字符串表示的最佳方法是使用[NSString stringWithFormat:@"%d", x]
。我担心我身上的C / C ++程序员很难相信我想把所有的格式代码都带到这么简单的任务中。也就是说,我假设stringWithFormat
需要解析格式字符串,寻找我可能使用的所有不同的类型说明符,字段宽度和选项,然后它必须能够解释那个可变长度的参数列表并使用格式说明符将x
强制转换为适当的类型,然后经历漫长的转换过程,在此过程中考虑有符号/无符号值和否定。
毋庸置疑,在C / C ++中,我可以简单地使用itoa(x)
来完成一件事并且非常有效。
我对一个语言相对于另一个语言的相对优点并不感兴趣,而只是提出问题:是非常强大的[NSString stringWithFormat:@"%d", x]
真的在Objective-C中执行这个非常非常简单的任务的最有效方法是什么?好像我正用大锤敲碎花生。
答案 0 :(得分:0)
你可以使用itoa()
,然后使用+[NSString stringWithUTF8String:]
-[NSString initWithBytes:length:encoding:
或+[NSString stringWithCString:encoding:]
中的任何一个,如果它让你感觉更好,但我不会担心,除非你是确定这是一个性能问题。
答案 1 :(得分:-1)
您也可以使用description method。它将其框为NSNumber
并转换为NSString
。
int intVariable = 1;
NSString* stringRepresentation = [@(intVariable) description];