Zastanawiam się, jak przekonwertować NSArray [@"Apple", @"Pear ", 323, @"Orange"]
na ciąg znaków w Objective-C .
objective-c
arrays
nsstring
nsarray
alexyorke
źródło
źródło
Odpowiedzi:
źródło
[array description]
wstawia znaki nowej linii i zewnętrzne nawiasy.NSString * myString = [array componentsJoinedByString:@""];
to akceptowalnym substytutem?<ClassName: InstanceAddress>
.valueForKey
Czyni go odzyskać określonej właściwości dla każdego elementu. W tym przypadkudescription
jest toNSString *
właściwośćNSObject
, której getter można zastąpić podklasami.Jednym podejściem byłoby iterowanie po tablicy, wywoływanie
description
komunikatu na każdym elemencie:Innym podejściem byłoby zrobienie czegoś w oparciu o klasę każdego przedmiotu:
Jeśli chcesz przecinki i inne obce informacje, możesz po prostu:
źródło
-description
) i concat je po to korzystając-componentsJoinedByString:
z@""
jako parametr.Myślę, że odpowiedź Sanjaya była już prawie na miejscu, ale użyłem jej w ten sposób
Wynik :
Jak wskazał Sanjay - użyłem składników metodyJoinedByString z NSArray, która łączy się i zwraca NSString
BTW NSString ma metodę odwróconych składnikówSeparatedByString, która dokonuje podziału i zwraca NSArray .
źródło
Niedawno znalazłem naprawdę dobry samouczek na temat ciągów Objective-C:
http://ios-blog.co.uk/tutorials/objective-c-strings-a-guide-for-beginners/
Pomyślałem, że może to być interesujące:
Jeśli chcesz podzielić ciąg na tablicę, użyj metody o nazwie componentsSeparatedByString, aby to osiągnąć:
jeśli chcesz podzielić na zestaw kilku różnych znaków, użyj składników NSString'sSeparatedByCharactersInSet:
Należy jednak pamiętać, że ciąg separatora nie może być pusty. Jeśli chcesz oddzielić ciąg znaków do jego poszczególnych znaków, po prostu zapętl długość łańcucha i przekonwertuj każdy znak na nowy ciąg znaków:
źródło
i masz tablicę dic lub wiele, a następnie użyłeś poniżej
źródło
Pierwszy wiersz inicjuje tablicę z obiektami. Drugi wiersz łączy wszystkie elementy tej tablicy, dodając ciąg znaków wewnątrz „” i zwraca ciąg znaków.
źródło
Cel C Rozwiązanie
Ci, którzy szukają rozwiązania w
Swift
Jeśli tablica zawiera ciągi, możesz użyć metody łączenia ciągu:
W Swift 2:
W Swift 3 i 4
źródło
To, co wiem, jest łatwe.
n
to wewnętrzna pozycja w tablicy This in SWIFT Language. Może działać w celu Cźródło
Rozwiązanie Swift 3.0:
źródło