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的使用总结,OC中的谓词操作是针对于数组类型的,他就好比数据库中的查询操作,数据源就是数组,这样的好处是我们不需要编写很多代码就可以去操作数组,同时也起到过滤的作用,我们可以编写简单的谓词...
本demo详细讲解了NSPredicate的使用;例如正则表达的使用、把程序中的一个数组中符合数组中内容的元素过滤出来、其它字符串的使用 BEGINSWITH、ENDSWITH、CONTAINS IN、BETWEEN、和match混合使用 比较问题
在`NSPredicate`中,`like`关键字允许使用通配符。例如,`"SELF like %@", @"imagexyz*.png"`会匹配所有以`imagexyz`开头且后跟任意数量字符(由星号`*`表示)的文件名。 - **忽略大小写和重音**:`[c]`表示忽略大...
- 对于Core Data应用,使用`NSPredicate`可以针对性地查询所需数据,减少不必要的对象初始化。 7. **扩展性**: - `NSPredicate`还支持自定义函数和操作符,可以通过实现`NSPredicateOperatorType`协议来扩展其...
创建`NSPredicate`的基本方式是使用`NSPredicate`的`predicateWithFormat:`方法,传入一个格式字符串和可选的参数。例如,如果你有一个包含Person对象的数组,你可以通过以下方式找到所有名字为"John"的对象: ```...
在iOS开发中,Swift语言是苹果官方推荐的编程语言,而`NSPredicate`是Objective-C中的一个类,但在Swift中同样可以使用。`NSPredicate`主要用于数据过滤和查询,它支持模糊查询、精确匹配以及复杂条件的组合,是Core...
本篇文章将深入探讨NSPredicate的使用方法,帮助iOS开发者更好地理解和应用。 首先,我们来理解NSPredicate的基本概念。NSPredicate可以被看作是一种表达逻辑条件的工具,它定义了数据搜索或内存中过滤的规则。就像...
数字和字母的模糊搜索则相对简单,可以直接使用NSPredicate的`CONTAINS`或`LIKE`运算符,因为这些字符在ASCII码表中连续,匹配逻辑相对直观。 ```swift func searchWithNumbersAndLetters(_ searchText: String) ->...
iOS谓词(NSPredicate)的基本入门使用教程 NSPredicate是iOS中的一种逻辑条件约束机制,用于在内存中对对象进行过滤和检索。它可以定义逻辑条件,以便在搜索和过滤对象时使用。 一、NSPredicate的基本语法 ...
NSPredicate的使用方式是通过创建一个NSPredicate对象,并将正则表达式作为格式字符串传递给它,然后使用evaluateWithObject方法来判断字符串是否匹配正则表达式。 ``` NSPredicate *predicate = [NSPredicate ...
在本文中,我们将深入探讨NSPredicate的使用方法,包括其基本概念、分类以及在实际开发中的应用。 首先,谓词在编程语言中通常用于描述一个表达式的真伪,而在iOS的NSPredicate中,它的作用是描述对象属性的匹配...
- `NSPredicate_Demo`可能包含一个简单的例子,演示如何使用`NSPredicate`进行模糊搜索。通常,这会涉及创建一个数组或字典,存储待搜索的数据,然后根据用户输入创建`NSPredicate`对象,最后用这个对象过滤数据并...
PredicateKit是NSPredicate的替代产品,使您可以使用键路径,比较和逻辑运算符,文字值和函数为CoreData编写表达性和类型安全的谓词。 :bullseye:PredicateKit PredicateKit是NSPredicate的替代产品,使您可以使用键...
编写惊人的,类型强且易于阅读的NSPredicate。 该库允许您编写可流动的NSPredicate,而无需猜测属性名称,谓词操作或编写错误的参数类型。 支持平台 iOS 9.0以上 macOS 10.9以上 tvOS 9.0以上 watchOS 2.0+ 安装 ...
在使用Fuse-Swift时,首先需要将库集成到项目中。这通常可以通过CocoaPods或Carthage等依赖管理工具完成。在Podfile中添加`pod 'Fuse-Swift'`,然后运行`pod install`即可。对于Carthage用户,只需在Cartfile中添加`...
在iOS应用开发中,CoreData是一个...此外,熟悉NSPredicate的使用和优化查询性能也是必不可少的技能。这个压缩包资源可能是为初学者提供了一个良好的起点,让他们能够通过实践来学习和理解CoreData的核心概念和用法。