Jawaban:
NSString * result = [[array valueForKey:@"description"] componentsJoinedByString:@""];
[array description]
menyisipkan baris baru dan tanda kurung luar.
NSString * myString = [array componentsJoinedByString:@""];
pengganti yang dapat diterima?
<ClassName: InstanceAddress>
. Itu valueForKey
membuatnya mengambil properti yang ditentukan untuk setiap item. Dalam hal ini, description
adalah NSString *
properti dari NSObject
, yang rajutannya dapat ditimpa oleh subkelasnya.
Salah satu pendekatan akan beralih pada array, memanggil description
pesan pada setiap item:
NSMutableString * result = [[NSMutableString alloc] init];
for (NSObject * obj in array)
{
[result appendString:[obj description]];
}
NSLog(@"The concatenated string is %@", result);
Pendekatan lain adalah melakukan sesuatu berdasarkan kelas setiap item:
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);
Jika Anda ingin koma dan informasi asing lainnya, Anda bisa melakukannya:
NSString * result = [array description];
-description
) dan menggabungkannya setelah itu menggunakan -componentsJoinedByString:
dengan @""
sebagai parameter.
Saya pikir jawaban Sanjay hampir ada tetapi saya menggunakannya dengan cara ini
NSArray *myArray = [[NSArray alloc] initWithObjects:@"Hello",@"World", nil];
NSString *greeting = [myArray componentsJoinedByString:@" "];
NSLog(@"%@",greeting);
Output:
2015-01-25 08:47:14.830 StringTest[11639:394302] Hello World
Seperti Sanjay telah mengisyaratkan - Saya menggunakan metode componentsJoinedByString dari NSArray yang bergabung dan memberi Anda kembali NSString
BTW NSString memiliki komponen metode terbalikSeparatedByString yang melakukan pemisahan dan memberi Anda NSArray kembali.
Saya baru-baru ini menemukan tutorial yang sangat bagus tentang Objective-C Strings:
http://ios-blog.co.uk/tutorials/objective-c-strings-a-guide-for-beginners/
Dan saya pikir ini mungkin menarik:
Jika Anda ingin membagi string menjadi sebuah array gunakan metode yang disebut componentsSeparatedByString untuk mencapai ini:
NSString *yourString = @"This is a test string";
NSArray *yourWords = [myString componentsSeparatedByString:@" "];
// yourWords is now: [@"This", @"is", @"a", @"test", @"string"]
jika Anda perlu membagi beberapa karakter yang berbeda, gunakan komponen NSStringSeparatedByCharactersInSet:
NSString *yourString = @"Foo-bar/iOS-Blog";
NSArray *yourWords = [myString componentsSeparatedByCharactersInSet:
[NSCharacterSet characterSetWithCharactersInString:@"-/"]
];
// yourWords is now: [@"Foo", @"bar", @"iOS", @"Blog"]
Perhatikan bahwa string pemisah tidak boleh kosong. Jika Anda perlu memisahkan string menjadi karakter-karakternya masing-masing, cukup loop melalui panjang string dan konversi masing-masing karakter menjadi string baru:
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:@""];
dan Anda telah dic atau beberapa array kemudian digunakan di bawah
NSString * result = [[array valueForKey:@"description"] componentsJoinedByString:@""];
NSArray *array = [NSArray arrayWithObjects:@"One",@"Two",@"Three", nil];
NSString *stringFromArray = [array componentsJoinedByString:@" "];
Baris pertama menginisialisasi array dengan objek. Baris kedua menggabungkan semua elemen dari array itu dengan menambahkan string di dalam "" dan mengembalikan sebuah string.
Tujuan C Solusi
NSArray * array = @[@"1", @"2", @"3"];
NSString * stringFromArray = [[array valueForKey:@"description"] componentsJoinedByString:@"-"]; // "1-2-3"
Mereka yang mencari solusi di Swift
Jika array berisi string, Anda dapat menggunakan metode gabungan String:
var array = ["1", "2", "3"]
let stringFromArray = "-".join(array) // "1-2-3"
Dalam Swift 2:
var array = ["1", "2", "3"]
let stringFromArray = array.joinWithSeparator("-") // "1-2-3"
Dalam Swift 3 & 4
var array = ["1", "2", "3"]
let stringFromArray = array.joined(separator: "-") // "1-2-3"