7

私は文字列の NSSet を持っており、それを [文字列] に変換したいと考えています。それ、どうやったら出来るの?

4

4 に答える 4

13

私は使用しますmap

let nss = NSSet(array: ["a", "b", "a", "c"])

let arr = nss.map({ String($0) })  // Swift 2

let arr = map(nss, { "\($0)" })  // Swift 1

スイフト2

スイフト 1

于 2015-07-27T20:12:31.377 に答える
9

がある場合はSet<String>、Array コンストラクターを使用できます。

let set: Set<String> = // ...
let strings = Array(set)

または、NSSet がある場合は、いくつかの異なるオプションがあります。

let set: NSSet = // ...
let strings1 = set.allObjects as? [String] // or as!
let strings2 = Array(set as! Set<String>)
let strings3 = (set as? Set<String>).map(Array.init)
于 2015-07-27T20:22:01.407 に答える
2
let set = NSSet(array: ["a","b","c"])
let arr = set.allObjects as! [String]
于 2015-07-27T20:21:30.827 に答える
2

このようなことができます。

let set = //Whatever your set is
var array: [String] = []

for object in set {
     array.append(object as! String)
}
于 2015-07-27T20:16:51.977 に答える