我有一个基本的数据模型,它返回一个字符串数组数组。我需要能够以小写形式返回所有字符串数组。这是我正在使用的模型:

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

10-07 12:57
查看更多