Objective-C에서 NSArray를 NSString으로 변환
Objective-C 에서 NSArray [@"Apple", @"Pear ", 323, @"Orange"]
를 문자열 로 변환하는 방법이 궁금합니다 .
NSString * result = [[array valueForKey:@"description"] componentsJoinedByString:@""];
한 가지 방법은 배열을 반복 description
하여 각 항목 에서 메시지를 호출하는 것 입니다.
NSMutableString * result = [[NSMutableString alloc] init];
for (NSObject * obj in array)
{
[result appendString:[obj description]];
}
NSLog(@"The concatenated string is %@", result);
다른 접근 방식은 각 항목의 클래스를 기반으로 무언가를 수행하는 것입니다.
NSMutableString * result = [[NSMutableString alloc] init];
for (NSObject * obj in array)
{
if ([obj isKindOfClass:[NSNumber class]])
{
// append something
}
else
{
[result appendString:[obj description]];
}
}
NSLog(@"The concatenated string is %@", result);
쉼표 및 기타 관련없는 정보를 원하면 다음을 수행하십시오.
NSString * result = [array description];
나는 Sanjay의 대답이 거의 거기에 있다고 생각하지만이 방법으로 사용했습니다.
NSArray *myArray = [[NSArray alloc] initWithObjects:@"Hello",@"World", nil];
NSString *greeting = [myArray componentsJoinedByString:@" "];
NSLog(@"%@",greeting);
출력 :
2015-01-25 08:47:14.830 StringTest[11639:394302] Hello World
Sanjay가 암시 한 것처럼-NSArray의 메소드 componentsJoinedByString 을 사용 하여 결합하고 NSString 을 반환했습니다.
BTW NSString 에는 splitSection 을 수행하고 NSArray를 다시 제공하는 componentsSeparatedByString 메소드 가 있습니다 .
최근에 Objective-C Strings에 대한 훌륭한 자습서를 찾았습니다.
http://ios-blog.co.uk/tutorials/objective-c-strings-a-guide-for-beginners/
그리고 나는 이것이 흥미로울 것이라고 생각했습니다.
문자열을 배열로 분할하려면 componentsSeparatedByString이라는 메소드를 사용하여 다음을 수행하십시오.
NSString *yourString = @"This is a test string";
NSArray *yourWords = [myString componentsSeparatedByString:@" "];
// yourWords is now: [@"This", @"is", @"a", @"test", @"string"]
여러 다른 문자 집합으로 분할해야하는 경우 NSString의 componentsSeparatedByCharactersInSet을 사용하십시오.
NSString *yourString = @"Foo-bar/iOS-Blog";
NSArray *yourWords = [myString componentsSeparatedByCharactersInSet:
[NSCharacterSet characterSetWithCharactersInString:@"-/"]
];
// yourWords is now: [@"Foo", @"bar", @"iOS", @"Blog"]
그러나 구분자 문자열은 비워 둘 수 없습니다. 문자열을 개별 문자로 분리 해야하는 경우 문자열 길이를 반복하고 각 문자를 새 문자열로 변환하십시오.
NSMutableArray *characters = [[NSMutableArray alloc] initWithCapacity:[myString length]];
for (int i=0; i < [myString length]; i++) {
NSString *ichar = [NSString stringWithFormat:@"%c", [myString characterAtIndex:i]];
[characters addObject:ichar];
}
NSString * str = [componentsJoinedByString:@""];
그리고 당신은 dic 또는 다중 배열을 가지고 다음 벨로우즈를 사용했습니다.
NSString * result = [[array valueForKey:@"description"] componentsJoinedByString:@""];
NSArray *array = [NSArray arrayWithObjects:@"One",@"Two",@"Three", nil];
NSString *stringFromArray = [array componentsJoinedByString:@" "];
첫 번째 줄은 객체로 배열을 초기화합니다. 두 번째 줄은 ""안에 문자열을 추가하여 해당 배열의 모든 요소를 연결하고 문자열을 반환합니다.
목표 C 솔루션
NSArray * array = @[@"1", @"2", @"3"];
NSString * stringFromArray = [[array valueForKey:@"description"] componentsJoinedByString:@"-"]; // "1-2-3"
Those who are looking for a solution in Swift
If the array contains strings, you can use the String's join method:
var array = ["1", "2", "3"]
let stringFromArray = "-".join(array) // "1-2-3"
In Swift 2:
var array = ["1", "2", "3"]
let stringFromArray = array.joinWithSeparator("-") // "1-2-3"
In Swift 3 & 4
var array = ["1", "2", "3"]
let stringFromArray = array.joined(separator: "-") // "1-2-3"
The way I know is easy.
var NSArray_variable = NSArray_Object[n]
var stringVarible = NSArray_variable as String
n
is the inner position in the array This in SWIFT Language. It might work in Objective C
Swift 3.0 solution:
let string = array.joined(separator: " ")
참고URL : https://stackoverflow.com/questions/1828665/convert-nsarray-to-nsstring-in-objective-c
'Programing' 카테고리의 다른 글
쉘에서 변수로 출력을 어떻게 리디렉션합니까? (0) | 2020.05.17 |
---|---|
프로그래밍 방식으로 스크롤보기를 특정 편집 텍스트로 스크롤하는 방법이 있습니까? (0) | 2020.05.17 |
발리 타임 아웃 시간 변경 (0) | 2020.05.17 |
querystring없이 URL 가져 오기 (0) | 2020.05.17 |
R에서 루프 작동 속도 향상 (0) | 2020.05.17 |