在NSString中添加空格?

3
基本上,我有一个共享按钮,可以打开一个撰写电子邮件的模态视图。我想在我的NSStringWithFormat中添加一个制表符空格。让我们称之为“postText”。当我尝试像这样设置空格时:

NSString *postText = [NSString stringWithFormat:@"\tHello, World! %@",myPointer];

它不会插入任何内容(它返回“Hello, World!myPointerValue”),如果我只使用制表符,它会因为我需要使用10-20次制表符而混乱。我做错了什么吗?


2
另外注意一下,为什么要使用stringWithFormat:?直接这样写就可以:NSString *postText = @"\tHello, World!"; - rmaddy
@rmaddy:抱歉,忘记将指针值添加到字符串中了。 - Josue Espinosa
myPointer是一个对象的引用吗? - Extra Savoir-Faire
澄清问题。你的意思是“它没有插入任何东西”吗?你的结果字符串应该是一个制表符,然后是“Hello, World!”,一个空格,然后是myPointer所代表的任何内容。 - rmaddy
@random:我正在撰写一封电子邮件,需要大约20个%@符号。我尝试自己插入空格,但变得混乱和令人困惑。我想知道\t是否正确。不知道为什么它不起作用。 - Josue Espinosa
显示剩余3条评论
1个回答

12
您可以使用stringByPaddingToLength函数在字符串中的任何位置添加空格。请查看以下示例函数。
-(NSString*)stringByAddingSpace:(NSString*)stringToAddSpace spaceCount:(NSInteger)spaceCount atIndex:(NSInteger)index{
    NSString *result = [NSString stringWithFormat:@"%@%@",[@" " stringByPaddingToLength:spaceCount withString:@" " startingAtIndex:0],stringToAddSpace];
    return result;
}

在您的情况下,示例用法:

NSString *spaceAddedText = [self stringByAddingSpace:@"Hello World!" spaceCount:5 atIndex:0]
NSString *postText = [NSString stringWithFormat:@"%@%@",spaceAddedText,myPointer];

它在 Obj-C 中仍然有效吗? - Umit Kaya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接