arrays - 在for循环中将多个对象添加到swift数组

标签 arrays swift

for tempExportData in exportDataArray {
    let tmpRegNO:NSString = (tempExportData as AnyObject).object(forKey: kRegisteredNo) as! NSString
    print("tmpRegNO is",tmpRegNO)
    var tmpNoArray:Array = [String]()
    tmpNoArray.append(tmpRegNO as String)
    print("Count is",tmpNoArray.count)
    print("ARRAY is",tmpNoArray)
}

我正在尝试添加字符串值,即 tmpRegNO 到数组 tmpNoArray
在这种情况下,我一次只能向数组添加一个值。
如何在第二次循环时将下一个值添加到该数组。

最佳答案

如前所述,您必须在进入循环之前声明数组。

您的代码非常客观。这是一个更快捷 的版本。不要注释编译器可以推断的类型并使用 key 订阅,而不是丑陋地转换为 AnyObjectobjectForKey:

var tmpNoArray = [String]()

for tempExportData in exportDataArray {
    let tmpRegNO = tempExportData[kRegisteredNo] as! String
    print("tmpRegNO is",tmpRegNO)

    tmpNoArray.append(tmpRegNO)

    print("Count is",tmpNoArray.count)
    print("ARRAY is",tmpNoArray)
}

您甚至可以将整个表达式写在一行中:

let tmpNoArray = exportDataArray.flatMap { $0[kRegisteredNo] as? String }

关于arrays - 在for循环中将多个对象添加到swift数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47845777/

相关文章:

header 中的 C++ 数组

arrays - 如何在 MATLAB 中编码 'all combination'?

swift - 将多部分图像、视频和参数发送到服务器时出现问题

ios - 如何在 Swift 中从不同的 ViewController 重新加载 TableView 中的数据

ios - 谁能告诉我为什么我在执行此代码(Swift)时收到错误的身份验证错误?

javascript - TypeScript 中的数组数组

javascript - 拆分数组导致错误: not a function

ios - 将自定义类对象转换为 NSData

xcode - NSUserDefaults 未全局保存

c++ - 用 C++ 返回两个数组