目标C中连接NSString的快捷方式

目标C中连接NSString的快捷方式

有什么捷径可以(stringByAppendingString:)目标-C中的字符串连接,或用于使用NSString总体而言?

例如,我想做:

NSString *myString = @"This";NSString *test = [myString stringByAppendingString:@" is just a test"];

更像是:

string myString = "This";string test = myString + " is just a test";


摇曳的蔷薇
浏览 480回答 3
3回答

牛魔王的故事

两个我能想到的答案.。这两种方法都不像有一个级联操作符那么令人愉快。首先,使用NSMutableString,它有一个appendString方法,消除了额外的临时字符串的一些需要。第二,使用NSArray通过componentsJoinedByString方法。

墨色风雨

一种选择:[NSString stringWithFormat:@"%@/%@/%@", one, two, three];另一种选择:我猜您对多个附加(a+b+c+d)不满意,在这种情况下您可以这样做:NSLog(@"%@", [Util append:one, @" ", two, nil]); // "one two"NSLog(@"%@", [Util append:three, @"/", two, @"/", one, nil]); // three/two/one使用类似的东西+ (NSString *) append:(id) first, ...{     NSString * result = @"";     id eachArg;     va_list alist;     if(first)     {         result = [result stringByAppendingString:first];         va_start(alist, first);         while (eachArg = va_arg(alist, id))          result = [result stringByAppendingString:eachArg];         va_end(alist);     }     return result;}

慕的地6264312

如果你有2个NSString文字,你也可以这样做:NSString *joinedFromLiterals = @"ONE " @"MILLION " @"YEARS " @"DUNGEON!!!";这对于连接#Defined也很有用:#define STRINGA @"Also, I don't know "#define STRINGB @"where food comes from."#define JOINED STRINGA STRINGB好好享受吧。
打开App,查看更多内容
随时随地看视频慕课网APP