为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

摇曳的蔷薇 2019-06-28 15:15:50
目标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";
查看完整描述

3 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

两个我能想到的答案.。这两种方法都不像有一个级联操作符那么令人愉快。

首先,使用NSMutableString,它有一个appendString方法,消除了额外的临时字符串的一些需要。

第二,使用NSArray通过componentsJoinedByString方法。


查看完整回答
反对 回复 2019-06-28
?
墨色风雨

TA贡献1853条经验 获得超6个赞

一种选择:

[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;}


查看完整回答
反对 回复 2019-06-28
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

如果你有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

好好享受吧。


查看完整回答
反对 回复 2019-06-28
  • 3 回答
  • 0 关注
  • 479 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信