以下是字典数组:
{
DATA: [
{
GAMEID: 509782,
FIELDNUMBER: "KPB #1",
},
{
GAMEID: 509782,
FIELDNUMBER: "KPB #1",
},
{
GAMEID: 509782,
FIELDNUMBER: "KPB #1",
},
{...
现在我想根据GAMEID
过滤数组。为此,我创建了一个循环,内部使用NSPredicate
。以下是我的代码:
func callSort(arr:NSMutableArray) -> NSMutableDictionary {
var arrId = arr.valueForKey("GAMEID")
for(index, ele) in arrGames.enumerate() {
let str = ele.valueForKey("GAMEID")
let pred = NSPredicate(format: "ANY DATA.GAMEID == %@", argumentArray: str) // error on this line
var filterArr = arrGames.filteredArrayUsingPredicate(pred)
}
return sortedDict
}
我得到的错误是:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse function name 'Optional:' into supported selector (Optional:)
我不确定我是否正确使用NSPredicate
。
我哪里出错了?我该如何解决这个问题?
已编辑的代码
let pred = NSPredicate(format: "GAMEID = %d", argumentArray: [str!])
var filterArr = arrGames.filteredArrayUsingPredicate(pred)
答案 0 :(得分:0)
您好我在目标c中解决了这个问题我有相同的JSON格式你可以参考这个Searching NSArray of NSDictionary objects答案吗?我用它来搜索功能希望这会帮助你