2010-03-05 43 views
7

Làm thế nào để chuyển đổi NSArray thành NSString trong mục tiêu-c?Làm thế nào để chuyển đổi NSArray thành NSString

+1

Bạn có thể cụ thể hơn không? Một NSArray có thể chứa các cá thể của bất kỳ lớp Objective-C nào. –

+1

Xem: http://stackoverflow.com/questions/1828665/convert-nsarray-to-nsstring-objective-c – mfazekas

+0

[Chuyển đổi NSString cách nhau bằng dấu phẩy thành NSArray] (http://stackoverflow.com/a/8204215/ 194544) – beryllium

Trả lời

28

Mang nhớ rằng bạn không nói những gì trong NSArray, bạn có thể làm điều này:

NSArray *arr = [NSArray arrayWithObjects: @"foo", @"bar", @"baz"]; 
[arr componentsJoinedByString: @","] 
+0

Có, tôi thấy rằng điều này là mạnh mẽ giả định rằng bạn đang có văn bản. Hay là nó sử dụng trường mô tả để thay thế? Nhiều khả năng ... Nhưng hầu như không thể sử dụng trong bối cảnh đó. – nembleton

12

Aternatively phương pháp Frank, mà hoạt động khá tốt, bạn cũng có thể làm

NSString *myArrayString = [array description]; 

Việc thực hiện mặc định mô tả trên NSArray sẽ in ra các nội dung theo kiểu được định dạng gọn gàng.

+0

một vấn đề ở đây là myArrayString sẽ có {} xung quanh văn bản ... làm thế nào để thoát khỏi điều này? cảm ơn! – TommyG

4

Đây là cách tôi đã chuyển đổi NSArray để NSString

NSError *error = nil; 

NSData *data = [NSJSONSerialization dataWithJSONObject:aArray options:kNilOptions error:&error]; 

NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
+0

Đây là phương pháp an toàn nhất mà tôi đã tìm thấy giả sử bạn cuối cùng muốn quay lại trạng thái mảng. Cảm ơn! –

0

Swift 3.0 cập nhật mới nhất của tôi

let string = array.componentsJoined(by: ",")

bạn có thể sử dụng bất kỳ tách chức năng mà bạn muốn để tách các phần tử mảng hiện trong ví dụ trên là ",".

Các vấn đề liên quan