Objective-C에서 NSRay를 NSString으로 변환
NSA ray를 변환하는 방법이 궁금합니다. [@"Apple", @"Pear ", 323, @"Orange"]
목표-C의 문자열로 이동합니다.
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];
산제이의 대답이 거의 다 온 것 같은데 이렇게 사용했습니다.
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
산제이가 암시했듯이 - 저는 NSArray의 JoinByString 메서드 구성 요소를 사용했습니다. NSString에 가입하고 다시 NSSString을 제공합니다.
BTWNSString에는 분할을 수행하고 NSA rayback을 제공하는 역방향 메서드 구성 요소 SeparatedByString이 있습니다.
저는 최근에 Objective-C Strings에 대한 정말 좋은 튜토리얼을 찾았습니다.
http://ios-blog.co.uk/tutorials/objective-c-strings-a-guide-for-beginners/
그리고 저는 이것이 흥미로울 수도 있다고 생각했습니다.
문자열을 배열로 분할하려면 componentSeparatedByString이라는 메서드를 사용하여 다음을 수행합니다.
NSString *yourString = @"This is a test string";
NSArray *yourWords = [myString componentsSeparatedByString:@" "];
// yourWords is now: [@"This", @"is", @"a", @"test", @"string"]
여러 문자 집합에서 분할해야 하는 경우 NSString의 구성 요소SeparatedByCharacters를 사용합니다.InSet:
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 또는 multiple 배열을 가지고 있고, 그 다음에 아래에 사용됩니다.
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"
에서 해결책을 찾고 있는 사람들Swift
배열에 문자열이 포함된 경우 문자열의 조인 방법을 사용할 수 있습니다.
var array = ["1", "2", "3"]
let stringFromArray = "-".join(array) // "1-2-3"
Swift 2에서:
var array = ["1", "2", "3"]
let stringFromArray = array.joinWithSeparator("-") // "1-2-3"
인 스위프트 3 & 4
var array = ["1", "2", "3"]
let stringFromArray = array.joined(separator: "-") // "1-2-3"
내가 아는 방법은 쉽습니다.
var NSArray_variable = NSArray_Object[n]
var stringVarible = NSArray_variable as String
n
는 배열의 내부 위치입니다. SWIFT Language에서 사용됩니다.목표 C에서 작동할 수 있습니다.
Swift 3.0 솔루션:
let string = array.joined(separator: " ")
언급URL : https://stackoverflow.com/questions/1828665/convert-nsarray-to-nsstring-in-objective-c
'programing' 카테고리의 다른 글
다른 스토리보드에 세그? (0) | 2023.05.28 |
---|---|
깃 저장소를 특정 커밋으로 롤백하려면 어떻게 해야 합니까? (0) | 2023.05.28 |
bash를 강제로 파일에서 로드된 문자열의 변수 확장 (0) | 2023.05.28 |
C#에서 두 개 이상의 바이트 배열을 결합하는 가장 좋은 방법 (0) | 2023.05.23 |
쿼리 계획에서 "비트맵 힙 검사"란 무엇입니까? (0) | 2023.05.23 |