1

このように作成された nsmutable 配列を持つアプリケーションがあります。

NSDictionary *memberInfo = [self.currentChannel infoForMemberWithID:memberID];

    for(int i=0;i<self.currentChannel.memberCount;i++)
    {
        [searchfriendarray addObject:memberInfo];   

    }

     NSLog(@"dfdfdfsear%@",searchfriendarray);

私が得ている応答はこれです

dfdfdfsear(
        {
        name = baddd;
        status = "<null>";
    },
        {
        name = baddd;
        status = "<null>";
    }
)

` 今、this.with メソッドで nsstring を検索したい

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText

検索を実装し、それに応じてテーブルビューをロードするのを手伝ってくれる人はいますか?

4

2 に答える 2

4

NSPredicateを使用して配列をフィルタリングします。

NSPredicate *filterPredicate = [NSPredicate predicateWithFormat:@"name contains[cd] %@", searchString];
[yourMutableArray filterUsingPredicate:filterPredicate];
于 2012-10-17T05:57:17.017 に答える
0

これに使えますNSPredicate

述語
述語は、配列をフィルタリングする便利なオブジェクトです。これは、SQL で単純な where 句を使用して選択することに少し似ています。

この形式の配列がある場合

NSMutableArray *yourAry;
(
        {
        category = classic;
        quote = "Frankly, my dear, I don't give a damn.";
        source = "Gone With the Wind";
    },
        {
        category = classic;
        quote = "Here's looking at you, kid.";
        source = Casablanca;
    }
{
        category = modern;
        quote = "I solemnly swear that I am up to no good.";
        source = "Harry Potter and the Prisoner of Azkaban";
    },
        {
        category = modern;
        quote = "You like pain? Try wearing a corset.";
        source = "Pirates of the Caribbean";
    }
)  

そして、 NSPredicatecategory = classicを使用できるすべての配列を検索したいとします。

NSString *selectedCategory = @"classic";

   //filter array by category using predicate
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"category == %@", selectedCategory];
    NSArray *filteredArray = [self.movieQuotes filteredArrayUsingPredicate:predicate];

ヘルプが必要な場合は、このブログに従ってくださいMyBlog

于 2012-10-17T08:06:25.413 に答える