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 订阅,而不是丑陋地转换为 AnyObject
和 objectForKey:
。
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/