Swift 3 将 ArrayList 对象变量传递给字符串数组

Posted

技术标签:

【中文标题】Swift 3 将 ArrayList 对象变量传递给字符串数组【英文标题】:Swift 3 Passing ArrayList object variables to String Array 【发布时间】:2017-06-03 21:27:25 【问题描述】:

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

    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())
    

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

【问题讨论】:

【参考方案1】:

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

var list = [String]()

等同于:

var list = Array<String>()

另外,这里不需要enumerated()。做吧:

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

或者,更好的是,使用map 一步完成所有操作,使list 成为常​​量:

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

【讨论】:

以上是关于Swift 3 将 ArrayList 对象变量传递给字符串数组的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 上自动创建 arraylist 对象

第四章 对象的行为

Swift 闭包反向传值

Swift 2.0 + Alamofire 3.0 - 缓慢加载 JSON

多部分数据未将所有参数传递给服务器-Swift 3

如何将 NSData 参数传递给在 swift 3 中调用的目标 c 方法?