[cocoa] NSArray 요소를 NSString에 결합하는 방법은 무엇입니까?

NSString의 NSArray가 주어지면 단일 NSString으로 분리하는 빠른 방법이 있습니까?



답변

NSArray * stuff = /* ... */;
NSString * combinedStuff = [stuff componentsJoinedByString:@"separator"];

이것은의 반대입니다 -[NSString componentsSeparatedByString:].


답변

-componentsJoinedByString: NSArray에서 트릭을 수행해야합니다.


답변

원래 배열에 하나의 속성 만 선택하려는 Key-Value 객체가 포함 된 경우 (이 문자열로 직렬화 할 수있는)이 변형도 있습니다.

@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


답변