我是新来的!
我有NSArray
这样的("file01_header","file01_body", "file01_xxx", ... ,"file02_header", ...)
。
我过滤它并获得2个不同的NSArrays:
Array_header ("file01_header","file02_header",...)
Array_body
("file01_body", "file02_body", ...)
现在我必须从Array_header中减去Array_body中具有相应项目的所有项目,因为并非所有项目都包含原始数组中fileNN_body
的{{1}},我必须给出Array_header作为输出,只有没有相应主体的项目。
我该怎么做?
谢谢!
答案 0 :(得分:0)
如果你正在使用swift,你可以使用一个闭包和一些小的字符串来轻松过滤。
以下是一个例子:
let funkyArray = ["file01_header","file01_body", "file01_xxx", "file02_header","file03_xxx"]
let headerFilterClosure : (String) -> Bool = {fileName in
if fileName.containsString("header") {
let fileBase = fileName.componentsSeparatedByString("_")[0]
let fileBodyName = "\(fileBase)_body"
if funkyArray.contains(fileBodyName) {
return true
}
}
return false
}
funkyArray.filter(headerFilterClosure)
我认为一个更好的长期解决方案是没有这样一个时髦的阵列,并使用数据结构或至少一个带有选项的元组来管理你的文件信息。
最佳, 约什