iOS過濾數據字典

    在做iOS時想要根據一個組織中的字典的一個值來過濾這個數組中的字典,想了好多辦法,看到一種簡便的,根據謂詞來過濾數據。


dataArray = [[NSMutableArray alloc] init];

    

    NSDictionary * dataDic1 = @{@"image":[UIImage imageNamed:@"photo1.jpg"], @"content":@"I am a boy",@"publisher":@"趣玩高球", @"privateNum":@"122",@"lookNum":@"56"};

    NSDictionary * dataDic2 = @{@"image":[UIImage imageNamed:@"photo2.jpg"], @"content":@"昨天中午有個男同事外出,沒把手機帶走。他老婆不停地打電話來。午睡的女同事被吵煩了,拿過手機大吼:我們在睡覺,你煩不煩!結果,那位男同事今天到現在都沒來上班!",@"publisher":@"趣玩高球", @"privateNum":@"122",@"lookNum":@"56"};

    NSDictionary * dataDic3 = @{@"image":[UIImage imageNamed:@"photo3.jpg"], @"content":@"yesterday,my mom buy a apple",@"publisher":@"趣玩高球", @"privateNum":@"122",@"lookNum":@"56"};

    NSDictionary * dataDic4 = @{@"image":[UIImage imageNamed:@"photo4.jpg"], @"content":@"昨天中午有個男同事外出,沒把手機帶走。他老婆不停地打電話來。午睡的女同事被吵煩了,拿過手機大吼:我們在睡覺,你煩不煩!結果,那位男同事今天到現在都沒來上班!",@"publisher":@"趣玩高球", @"privateNum":@"122",@"lookNum":@"56"};

    

    [dataArray addObject:dataDic1];

    [dataArray addObject:dataDic2];

    [dataArray addObject:dataDic3];

    [dataArray addObject:dataDic4];



這裏是過濾KEY爲@“content”的值爲輸入框的值來搜索包含有這個輸入框輸入的文字的字典。


   NSString * searchString = [lifeSearchController.searchBar text];

    

    NSPredicate * predicate = [NSPredicate predicateWithFormat:@"%K CONTAINS[c] %@",@"content",searchString];


    if (searchListArray != nil) {

        [searchListArray removeAllObjects];

    }

    //過濾數據

    searchListArray = [NSMutableArray arrayWithArray:[dataArray filteredArrayUsingPredicate:predicate]];

    NSLog(@"return****** %@",searchListArray);

    //刷新表格

    

    [headTableView reloadData];

打印出來的數據就是現在輸入了“am”的數據,





發佈了85 篇原創文章 · 獲贊 20 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章