代码之家  ›  专栏  ›  技术社区  ›  user3850

如何将nsarray元素连接到nsstring中?

  •  123
  • user3850  · 技术社区  · 16 年前

    考虑到NSarray的NSstring,是否有一种快速的方法将它们连接到单个NSstring中(使用分隔符)?

    3 回复  |  直到 7 年前
        1
  •  311
  •   Dave DeLong    16 年前
    NSArray * stuff = /* ... */;
    NSString * combinedStuff = [stuff componentsJoinedByString:@"separator"];
    

    这与 -[NSString componentsSeparatedByString:] .

        2
  •  12
  •   BJ Homer    16 年前

    -componentsJoinedByString: 在NSARRAY应该做的技巧。

        3
  •  1
  •   Ben G    12 年前

    如果原始数组包含只想从中选择一个属性(可以序列化为字符串)的键值对象,那么也有这个变量:

    @implementation NSArray (itertools)
    
    -(NSMutableString *)stringByJoiningOnProperty:(NSString *)property separator:(NSString *)separator
    {
        NSMutableString *res = [@"" mutableCopy];
        BOOL firstTime = YES;
        for (NSObject *obj in self)
        {
            if (!firstTime) {
                [res appendString:separator];
            }
            else{
                firstTime = NO;
            }
            id val = [obj valueForKey:property];
            if ([val isKindOfClass:[NSString class]])
            {
                [res appendString:val];
            }
            else
            {
                [res appendString:[val stringValue]];
            }
        }
        return res;
    }
    
    
    @end