有没有比 alloc 和 initWithFormat 更短的方法来从两种不同的数据类型创建 NSString?
Posted
技术标签:
【中文标题】有没有比 alloc 和 initWithFormat 更短的方法来从两种不同的数据类型创建 NSString?【英文标题】:Is there a shorter method than alloc and initWithFormat for creating a NSString from two different data types? 【发布时间】:2014-02-27 22:53:22 【问题描述】:我需要返回一个 NSString*,它将由一个 unsigned char 和另一个 NSString 创建。 initWithFormat 允许将两种不同的数据类型组合成一个字符串,但有没有比使用 alloc 和 initWithFormat 更短的方法来创建字符串?
NSString *stringMagic()
unsigned char foo = 0x42;
NSString *bar;
// ...
// Magic happens here
// ...
bar = @"unicorns";
return [[NSString alloc] initWithFormat:@"%d %@", foo, bar];
【问题讨论】:
你能解释一下你认为“不聪明”的地方吗? 这个问题不太清楚目标是什么 看来已经够清楚了,答案就这么简单“否”。但答案仅限于最少数量的字符,所以我不能发布。 好吧,你总是可以使用stringWithFormat
。当然,您可以使用其他几个 NSString 函数将 int 格式化为十进制,连接两个字符串等。
谢谢,stringWithFormat 正是我想要的。
【参考方案1】:
[NSString stringWithFormat:@"%d %@", foo, bar]
【讨论】:
是的,我想我从来没有用过 initWithFormat。以上是关于有没有比 alloc 和 initWithFormat 更短的方法来从两种不同的数据类型创建 NSString?的主要内容,如果未能解决你的问题,请参考以下文章
内存映射文件 std::allocator 实现冻结 WM6 设备
C++ allocator::allocate 是不是应该抛出?
Fortran 中没有 Allocate() 的可变大小数组