2017-08-02 8 views
0

からアレイを作る私のようなカスタム・クラスがある:カスタムオブジェクトのプロパティ

class Tender: NSObject { 
    public var code = "" 
    public var name = "" 
} 

方法は、入札タイプの配列を返します。この配列から、名前だけを含む配列を準備したいと思います。 例、

public func fetchTenderArray() -> [Tender] { 
     var tenderArray = [Tender]() 
     let tender1 = Tender() 
     tender1.code = "t1" 
     tender1.name = "tenderName1" 
     let tender2 = Tender() 
     tender2.code = "t2" 
     tender2.name = "tenderName2" 
     tenderArray.append(tender1) 
     tenderArray.append(tender2) 
     return tenderArray 
} 

ここでは、このtenderArrayを使用するメソッドがあります。私は[テンダー]の名前で配列を形成する必要があります。

public func formTenderNamesArray() -> [String] { 
     let tenderArray = fetchTenderArray() 
     var tenderNames = [String]() 
     for tender in tenderArray { 
      tenderNames.append(tender.name) 
     } 
     return tenderNames // returns ["tenderName1","tenderName2"] 
} 

swift3を使用して文字列の配列を準備するための短くて良い方法はありますか?

+0

を試してみてください? –

答えて

0

//エヴァーコード(=キー)を格納するハッシュマップまたは辞書を使用して、名前(=価値)を考え、この

public func formTenderNamesArray() -> [String] { 
    let tenderArray = fetchTenderArray() 
    var tenderNames = (tenderArray as! NSArray).value(forKey: "name") as! [String] 
    return tenderNames 
} 
関連する問題