Swift 3将ArrayList对象变量传递给String Array

时间:2017-06-03 21:27:26

标签: ios swift arraylist swift3 xcode8

我有一个带有getName func的对象列表,它返回一个字符串,我希望通过遍历第一个列表并调用对象函数来传递它来填充另一个字符串列表。现在我的代码看起来像这样。

    let brT = Skill(name: "brT", difficulty: 0.6)
    let brP = Skill(name: "brP", difficulty: 0.7)
    let brS = Skill(name: "brS", difficulty: 0.7)
    let bkT = Skill(name: "bkT", difficulty: 0.6)
    let bkP = Skill(name: "bkP", difficulty: 0.6)
    let bkS = Skill(name: "bkS", difficulty: 0.6)

    let list1 = [brT, brP, brS, bkT, brP, brS]

    var list: <String>

    for (index, element) in list1.enumerated() {
        list.append(element.getName())
    }

我正在尝试为应用程序执行此操作,因此字符串列表显示在表视图中,然后double将对所有双精度求和并显示到表下方的UI标签。最后我需要查看String列表以查找可以将对象字符串变量添加到表视图的搜索栏,并将double添加到另一个列表中,该列表执行上面提到的标签输出,我在右边跟踪?

1 个答案:

答案 0 :(得分:0)

您应该像这样声明和初始化列表:

var list = [String]()

与:

相同
var list = Array<String>()

此外,这里不需要enumerated()。只是做:

for element in list1 {
    list.append(element.getName())
}

或者,更好的是,使用map一步完成所有事情,使list成为常数:

let list = list1.map { $0.getName() }