合并 Swift 中的两个 NSMutableArray
Merge two NSMutableArray in Swift
我有两个 NSMutableArray:
let value = data as NSDictionary
let array_item : NSArray! = (value.value(forKey: "mids") as! NSArray)
if let array = array_item {
let array_list : NSMutableArray! = NSMutableArray(array:array)
let array_list_checksum : NSMutableArray = NSMutableArray()
let array_list_server_version : NSMutableArray = NSMutableArray()
for item in array_list {
let dic_item : NSDictionary! = item as? NSDictionary
if let dic = dic_item {
array_list_checksum.add(dic.value(forKey: "checksum")!)
array_list_server_version.add(dic.value(forKey: "server_version")!)
array_server_versions = array_list_server_version
}
}
在array_list_checksum中我有这样的字符串:“efopfkefokepre4345345345345”,在array_list_server_versions中我有这样的字符串:“2018年的2.0版”
我需要做的是以这种格式合并每个校验和和每个服务器版本的信息:
“version 2.0 in 2018 checksum: efopfkefokepre4345345345345”,数组中没有包含“checksum”字样。
所以我的问题是在 Swift 中合并这两个 NSMutableArray 以及如何在两个值之间添加单词“checksum:”。
您有两个要合并的数组:
let array_list_checksum : NSMutableArray = NSMutableArray()
let array_list_server_version : NSMutableArray = NSMutableArray()
使用 zip 运算符将数组值合并成对的元组。并使用 map 运算符创建具有所需格式的合并数组:
let merged = zip(array_list_server_version, array_list_checksum).map{
"\([=11=]) checksum: \()"
}
如果需要,将结果数组转换为 NSMutableArray:
let mergedArray = NSMutableArray(array: merged)
几点注意事项:
- 使用 swift 默认数组和字典,如果你有 swift-only 项目
- CamelCase in iOS 优于 snake_case
我有两个 NSMutableArray:
let value = data as NSDictionary
let array_item : NSArray! = (value.value(forKey: "mids") as! NSArray)
if let array = array_item {
let array_list : NSMutableArray! = NSMutableArray(array:array)
let array_list_checksum : NSMutableArray = NSMutableArray()
let array_list_server_version : NSMutableArray = NSMutableArray()
for item in array_list {
let dic_item : NSDictionary! = item as? NSDictionary
if let dic = dic_item {
array_list_checksum.add(dic.value(forKey: "checksum")!)
array_list_server_version.add(dic.value(forKey: "server_version")!)
array_server_versions = array_list_server_version
}
}
在array_list_checksum中我有这样的字符串:“efopfkefokepre4345345345345”,在array_list_server_versions中我有这样的字符串:“2018年的2.0版” 我需要做的是以这种格式合并每个校验和和每个服务器版本的信息: “version 2.0 in 2018 checksum: efopfkefokepre4345345345345”,数组中没有包含“checksum”字样。 所以我的问题是在 Swift 中合并这两个 NSMutableArray 以及如何在两个值之间添加单词“checksum:”。
您有两个要合并的数组:
let array_list_checksum : NSMutableArray = NSMutableArray()
let array_list_server_version : NSMutableArray = NSMutableArray()
使用 zip 运算符将数组值合并成对的元组。并使用 map 运算符创建具有所需格式的合并数组:
let merged = zip(array_list_server_version, array_list_checksum).map{
"\([=11=]) checksum: \()"
}
如果需要,将结果数组转换为 NSMutableArray:
let mergedArray = NSMutableArray(array: merged)
几点注意事项:
- 使用 swift 默认数组和字典,如果你有 swift-only 项目
- CamelCase in iOS 优于 snake_case