2017-10-16 24 views
0

我有一個基本的數據模型,返回一個字符串數組的數組。我需要能夠返回所有字符串數組作爲小寫。這裏是我正在使用的模型:從模型返回一個字符串數組作爲全部小寫

struct MyData { 
    static func returnAllData(lowercase: Bool) -> [Model] { 
     return [ 
      Model(stringArray: [」Hello」, There」]), 
      Model(stringArray: [「World」, 「Fu」, 「Bar」]) 
     ] 
    } 
} 

我已經添加了小寫參數。我只是不知道如何將該參數綁定到控制器,以便根據Bool的內容(小寫或正常情況)顯示字符串數組。

下面是我使用的控制器得到什麼從上述模型中的數據:

var allStrings = MyData.returnAllData(lowercase: true) 
// but currently... this parameter doesn't do anything. 

我如何可以使用該參數,使所有從returnAllData小寫或正常情況下,字符串將是任何幫助很有幫助。謝謝。

回答

3

更改你的結構是這樣的:

方法1

struct MyData { 
    static func returnAllData(lowercase: Bool) -> [Model] { 
     return [ 
      Model(stringArray: ["Hello", "There"].map { lowercase ? $0.lowercased() : $0 }), 
      Model(stringArray: ["World", "Fu", "Bar"].map { lowercase ? $0.lowercased() : $0 }) 
     ] 
    } 
} 

方法2

struct MyData { 
    static func returnAllData(lowercase: Bool) -> [Model] { 
     return [ 
      Model(stringArray: ["Hello", "There"], lowercase: lowercase), 
      Model(stringArray: ["World", "Fu", "Bar"], lowercase: lowercase) 
     ] 
    } 
} 

struct Model { 
    var stringArray : [String] 

    init(stringArray: [String], lowercase: Bool) { 
     self.stringArray = stringArray.map { lowercase ? $0.lowercased() : $0 } 
    } 
} 
相關問題