2014-07-18 16 views
46

Dizilerde join() kullanımı nedir? Amaç ne? Diğer dillerde, dizinin elemanlarını dizeye dahil etmek için kullanılır.Array'ın amacı "Join" işlevinde Swift

Swift 3,0

let joiner = ":" 
let elements = ["one", "two", "three"] 
let joinedStrings = elements.joined(separator: joiner) 
print("joinedStrings: \(joinedStrings)") 

çıkışı: Örneğin,
Ruby Array.join

Ben burada dizeleri ile biraz kullanışlı bir örnektir bazı soru yaklaşık Swift Array join EXC_BAD_ACCESS

+2

cevap http://stackoverflow.com/ Bir önceki soru için a/24820941/1187415, iki somut uygulama() ... –

+0

kodunu bunlardan gelen kodu nasıl ekler? http://stackoverflow.com/a/21313276/4920678 –

cevap

127

olarak) (katılmak sordunuz :

joinedStrings: olmak üzere iki üç

Swift 2,0

var joiner = ":" 
var elements = ["one", "two", "three"] 
var joinedStrings = elements.joinWithSeparator(joiner) 
print("joinedStrings: \(joinedStrings)") 

çıkışı:

joinedStrings: olmak üzere iki üç

Swift 1.2:

var joiner = ":" 
var elements = ["one", "two", "three"] 
var joinedStrings = joiner.join(elements) 
println("joinedStrings: \(joinedStrings)") 

karşılaştırma için Obj C'de de aynı şey:

NSString *joiner = @":"; 
NSArray *elements = @[@"one", @"two", @"three"]; 
NSString *joinedStrings = [elements componentsJoinedByString:joiner]; 
NSLog(@"joinedStrings: %@", joinedStrings); 

çıkışı:

joinedStrings: olmak üzere iki üç

+1

Bu tam olarak soruya cevap vermiyor. OP, bir dizi üzerinde birleştirme yöntemini istedi. Dizi çeken bir dizede birleştirme yönteminden bahsettin. Kafa karıştırıcı kısım, normal bir dizi birleşimi yönteminin bir dizeyi argüman olarak alması ve diziyi dizeyle birleştirmesidir, ancak dizgideki dizi birleştirme yöntemi bir diziyi alır ve her bir öğeyi kendisiyle birlikte verilen diziyle birleştirir. tartışma. –

+0

Bazı bağlam eksik: Bu başlangıç ​​işlevi ilk sürümden sonra değiştirildi, soru/cevap bu işlevsellik değişikliğini giderir. – zaph

+3

Bir sidenote olarak: "joinWithSeparator" Dizeleriyle Diziler için çalışır, id [String] 'dır, ancak diğer [*] gibi Array türlerini kullanmaz – Binarian