【问题标题】:search substring from mutable array in iphone从iphone中的可变数组中搜索子字符串
【发布时间】:2011-06-05 02:45:22
【问题描述】:

如何从 NSMutableArray 中搜索子字符串?

NSMutableArray names 具有字符串值,

searchText 是从名称数组值中搜索的子字符串。

for (NSString *sTemp in names)
    {
        NSRange titleResultsRange = [sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch];
        //NSLog(@"sTemp = %@, searchText = %@",sTemp,searchText);
        NSLog(@"%@",titleResultsRange.length);
        if (titleResultsRange.length > 0)
            [Items addObject:sTemp];
    }

【问题讨论】:

    标签: iphone objective-c cocoa-touch nsmutablearray uisearchbar


    【解决方案1】:

    你做得对。问题是什么? 你也可以这样做:

    for (NSString *sTemp in names)
        {
            NSRange titleResultsRange = [sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch];
            if (titleResultsRange.location != NSNotFound)
                [Items addObject:sTemp];
        }
    

    【讨论】:

    • 感谢您的意见。但它没有将 sTemp 中的值带入 Items 数组。当我尝试将 Items 数组值提取到控制台时,它显示 null。可以做什么?
    【解决方案2】:

    您还可以使用 NSPredicate 过滤您的数组,如下所示:

    NSArray *items = [names filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self contains[cd] %@",searchText]];
    

    【讨论】:

      猜你喜欢
      • 2011-07-04
      • 2013-01-09
      • 2013-05-25
      • 2018-11-28
      • 2022-01-23
      • 2016-07-04
      • 2011-10-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多