IN 演算子は SBElementArray のフィルタリングに使用できますか? 私はそれを使用しようとしていますが、常に NULL 配列を返します。
私のコード(hexArrayには通常、より多くの要素があります):
SBElementArray *musicTracks = [libraryPlaylist fileTracks];
hexArray = [NSArray arrayWithObject: @"3802BF81BD1DAB10"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY %K IN %@",@"persistentID",hexArray];
NSLog(@"%@", [[musicTracks filteredArrayUsingPredicate:predicate] valueForKey:@"persistentID"]);
NSLog(@"%@", hexArray);
NSLog(@"%@", predicate);
出力:
2013-05-26 12:59:29.907 test[1226:403] (null)
2013-05-26 12:59:29.907 test[1226:403] (3802BF81BD1DAB10)
2013-05-26 12:59:29.908 test[1226:403] ANY persistentID IN {"3802BF81BD1DAB10"}
述語を次のように設定しようとしました:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY %K == %@",@"persistentID",hexArray];
出力:
2013-05-26 13:03:04.629 test[1258:403] (3802BF81BD1DAB10)
2013-05-26 13:03:04.630 test[1258:403] (3802BF81BD1DAB10)
2013-05-26 13:03:04.630 test[1258:403] ANY persistentID == {"3802BF81BD1DAB10"}
そして、これはうまくいきます。しかし、IN機能が欲しいです。