[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