`

NSPredicate的初步使用

 
阅读更多
NSPredicate的初步使用

view plain
一: 
NSArray *arrayFilter = [NSArray arrayWithObjects: @"pict", @"blackrain", @"ip", nil]; 
    NSArray *arrayContents = [NSArray arrayWithObjects: @"I am a picture.", @"I am a guy", @"I am gagaga", @"ipad", @"iphone", nil]; 
     
    //我想过滤arrayContents的话只要循环 arrayFilter就好了 
     
    int i = 0, count = [arrayFilter count]; 
    for(i = 0; i < count; i ++) 
    { 
        NSString *arrayItem = (NSString *)[arrayFilter objectAtIndex:i]; 
        NSPredicate *filterPredicate = [NSPredicate predicateWithFormat: @"SELF CONTAINS %@", arrayItem]; 
        NSLog(@"Filtered array with filter %@, %@", arrayItem, [arrayContents filteredArrayUsingPredicate: filterPredicate]);                                          
    } 




view plain
二: 
NSArray *arrayFilter2 = [NSArray arrayWithObjects:@"abc1", @"abc2", nil]; 
    NSArray *arrayContent2 = [NSArray arrayWithObjects:@"a1", @"abc1", @"abc4", @"abc2", nil]; 
    NSPredicate *thePredicate2 = [NSPredicate predicateWithFormat:@"NOT (SELF in %@)", arrayFilter2]; 
    NSLog(@"Filtered array with filter %@, %@", arrayFilter2, [arrayContent2 filteredArrayUsingPredicate:thePredicate2]); 
     
分享到:
评论

相关推荐

    NSPredicate

    NSPredicate的使用总结,OC中的谓词操作是针对于数组类型的,他就好比数据库中的查询操作,数据源就是数组,这样的好处是我们不需要编写很多代码就可以去操作数组,同时也起到过滤的作用,我们可以编写简单的谓词...

    NSPredicate用法

    本demo详细讲解了NSPredicate的使用;例如正则表达的使用、把程序中的一个数组中符合数组中内容的元素过滤出来、其它字符串的使用 BEGINSWITH、ENDSWITH、CONTAINS IN、BETWEEN、和match混合使用 比较问题

    NSpredicate

    在`NSPredicate`中,`like`关键字允许使用通配符。例如,`"SELF like %@", @"imagexyz*.png"`会匹配所有以`imagexyz`开头且后跟任意数量字符(由星号`*`表示)的文件名。 - **忽略大小写和重音**:`[c]`表示忽略大...

    NSPredicate Demo

    - 对于Core Data应用,使用`NSPredicate`可以针对性地查询所需数据,减少不必要的对象初始化。 7. **扩展性**: - `NSPredicate`还支持自定义函数和操作符,可以通过实现`NSPredicateOperatorType`协议来扩展其...

    ios-NSPredicate用于查询.zip

    创建`NSPredicate`的基本方式是使用`NSPredicate`的`predicateWithFormat:`方法,传入一个格式字符串和可选的参数。例如,如果你有一个包含Person对象的数组,你可以通过以下方式找到所有名字为"John"的对象: ```...

    Swift_NSPredicate模糊、精确、查找Demo

    在iOS开发中,Swift语言是苹果官方推荐的编程语言,而`NSPredicate`是Objective-C中的一个类,但在Swift中同样可以使用。`NSPredicate`主要用于数据过滤和查询,它支持模糊查询、精确匹配以及复杂条件的组合,是Core...

    iOS中NSPredicate谓词的使用

    本篇文章将深入探讨NSPredicate的使用方法,帮助iOS开发者更好地理解和应用。 首先,我们来理解NSPredicate的基本概念。NSPredicate可以被看作是一种表达逻辑条件的工具,它定义了数据搜索或内存中过滤的规则。就像...

    NSPredicate模糊搜索(全方面搜索)支持中文、数字、字母

    数字和字母的模糊搜索则相对简单,可以直接使用NSPredicate的`CONTAINS`或`LIKE`运算符,因为这些字符在ASCII码表中连续,匹配逻辑相对直观。 ```swift func searchWithNumbersAndLetters(_ searchText: String) -&gt;...

    iOS中谓词(NSPredicate)的基本入门使用教程

    iOS谓词(NSPredicate)的基本入门使用教程 NSPredicate是iOS中的一种逻辑条件约束机制,用于在内存中对对象进行过滤和检索。它可以定义逻辑条件,以便在搜索和过滤对象时使用。 一、NSPredicate的基本语法 ...

    IOS中NSPredicate和NSRegularExpression校验正则表达式区别

    NSPredicate的使用方式是通过创建一个NSPredicate对象,并将正则表达式作为格式字符串传递给它,然后使用evaluateWithObject方法来判断字符串是否匹配正则表达式。 ``` NSPredicate *predicate = [NSPredicate ...

    30分钟快速带你理解iOS中的谓词NSPredicate

    在本文中,我们将深入探讨NSPredicate的使用方法,包括其基本概念、分类以及在实际开发中的应用。 首先,谓词在编程语言中通常用于描述一个表达式的真伪,而在iOS的NSPredicate中,它的作用是描述对象属性的匹配...

    模糊搜索DEMO

    - `NSPredicate_Demo`可能包含一个简单的例子,演示如何使用`NSPredicate`进行模糊搜索。通常,这会涉及创建一个数组或字典,存储待搜索的数据,然后根据用户输入创建`NSPredicate`对象,最后用这个对象过滤数据并...

    PredicateKit是NSPredicate的替代产品,使您可以为CoreData编写表达性和类型安全的谓词-Swift开发

    PredicateKit是NSPredicate的替代产品,使您可以使用键路径,比较和逻辑运算符,文字值和函数为CoreData编写表达性和类型安全的谓词。 :bullseye:PredicateKit PredicateKit是NSPredicate的替代产品,使您可以使用键...

    PredicateFlow:编写出色,强类型且易于阅读的NSPredicate

    编写惊人的,类型强且易于阅读的NSPredicate。 该库允许您编写可流动的NSPredicate,而无需猜测属性名称,谓词操作或编写错误的参数类型。 支持平台 iOS 9.0以上 macOS 10.9以上 tvOS 9.0以上 watchOS 2.0+ 安装 ...

    swift-fuse-swift一个超级轻量级库提供了一种简单的模糊搜索方法

    在使用Fuse-Swift时,首先需要将库集成到项目中。这通常可以通过CocoaPods或Carthage等依赖管理工具完成。在Podfile中添加`pod 'Fuse-Swift'`,然后运行`pod install`即可。对于Carthage用户,只需在Cartfile中添加`...

    ios-CoreData(适配IOS 9 10).zip

    在iOS应用开发中,CoreData是一个...此外,熟悉NSPredicate的使用和优化查询性能也是必不可少的技能。这个压缩包资源可能是为初学者提供了一个良好的起点,让他们能够通过实践来学习和理解CoreData的核心概念和用法。

Global site tag (gtag.js) - Google Analytics