从模型返回一个字符串数组作为全部小写

问题描述:

我有一个基本的数据模型,返回一个字符串数组的数组。我需要能够返回所有字符串数组作为小写。这里是我正在使用的模型:从模型返回一个字符串数组作为全部小写

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小写或正常情况下,字符串将是任何帮助很有帮助。谢谢。

更改你的结构是这样的:

方法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 } 
    } 
}