小编Ric*_*key的帖子

如何通过带有键的嵌套数组进行谓词化

我有一个调用的数组self.eventsArray,如下所示:

[ 
  {
        "artist": [
            {
                "artist_name": "Dillon Francis", 
                "name": "Dillon Francis", 
            }, 
            {
                "artist_name": "Major Lazer", 
                "name": "Major Lazer", 
            }, 
            {
                "artist_name": "Flosstradamus ", 
                "name": "Flosstradamus", 
            }
        ],  
        "name": "Mad Decent Block Party NYC", 
    },
  {
        "artist": [
            {
                "artist_name": "Ryan Raddon", 
                "name": "Kaskade", 
            }
        ], 
        "name": "Kaskade Atmosphere Tour NYC", 
    },
]
Run Code Online (Sandbox Code Playgroud)

我一直在尝试使用NSPredicate两次来过滤它.当用户搜索时,需要按名称(在艺术家数组中)或名称(在顶级数组中)进行过滤.

NSPredicate *predicateEventsByName = [NSPredicate predicateWithFormat:@"SELF.%K contains[c] %@",@"name",searchText];
NSPredicate *predicateEventsByArtistName = [NSPredicate predicateWithFormat:@"SELF.%K.%K contains[c] %@",@"artist",@"name",searchText];

NSMutableArray *unfilteredEventsArray = [[NSMutableArray alloc] initWithCapacity:0];
unfilteredEventsArray …
Run Code Online (Sandbox Code Playgroud)

nspredicate ios

2
推荐指数
1
解决办法
2653
查看次数

标签 统计

ios ×1

nspredicate ×1