IOS之谓词的用法

谓词就是一个判断的类

新建一个Model类
属性
@property (strong , nonatomic) NSString* name;
@property (assign , nonatomic) int   num;

在ViewController的viewDidLoad中
Model* modelA = [[Model alloc] init];

 //设置Model类里面的属性值
    [modelA
setValue:@"xiaonan" forKey:@"name"];
    [modelA setValue:[NSNumber
numberWithInt:20] forKey:@"num"];

  //作用一
 //创建谓词的对象  即判断条件对象predicate1
    NSPredicate*
predicate1 = [NSPredicate predicateWithFormat:@"name=='xiaonan'"];
    NSPredicate*
predicate2 = [NSPredicate predicateWithFormat:@"num ==20"];
  //然后可以用predicate1条件对象和modelA比较
   if
([predicate1 evaluateWithObject:modelA]) {
        NSLog(@"zxc");
    }
    if
([predicate2 evaluateWithObject:modelA]) {
        NSLog(@"mnbv");
    }

 //作用二 
    NSArray*
array = @[@"af",@"bg"];
    NSArray*
array2 = @[@"af",@"fsd",@"bg",@"tre"];
    NSPredicate*
thePredicate = [NSPredicate predicateWithFormat:@"NOT(SELF in %@)",array];
    NSArray*
arr3 = [array2 filteredArrayUsingPredicate:thePredicate];
    NSLog(@"%@",arr3);

时间: 2024-08-08 03:58:15

IOS之谓词的用法的相关文章

error-请教iOS中CMPedometer的用法

问题描述 请教iOS中CMPedometer的用法 10C #import @implementation FirstViewController (void)viewDidLoad { [super viewDidLoad]; [CMPedometer isStepCountingAvailable]; CMPedometer *pedonmeter = [[CMPedometer alloc] init]; [pedonmeter startPedometerUpdatesFromDate:

iOS开发之枚举用法小结_IOS

前言 Enum,也就是枚举,从C语言开始就有了,C++.Java.Objective-C.Swift这些语言,当然都有对应的枚举类型,功能可能有多有少,但是最核心的还是一个-规范的定义代码中的状态.选项等"常量". 举个例子,我们想要在开发中根据四季的变化做不同的操作,我们首先想到的可能会是定义一个int型变量,通过为该变量赋不同的值来表示四季(e.g. 1为春天,2为夏天,3为秋天,4为冬天).但是,对于阅读该份代码的人来讲,他们并不能在短时间内就明白数字1234所代表的具体含义.这

iOS 多线程—GCD 基本用法

什么是进程? 最通俗的描述就是一个个pid,官方的说法:进程是程序在计算机上的一次执行活动.打开一个app 就开启了一个进程.可包含多个线程. 什么是线程? 独立执行的代码段,一个线程同一时间内只能执行一个任务,反之多线程并发就可以在同一时间执行多个任务. 同步和异步 一个同步函数只在完成了预定任务后才返回.会阻塞当前线程.异步时任务开启会立即返回,不阻塞当前线程去执行下一个函数.异步会开启其他线程. 串行和并发 串行:任务按先后顺序逐个执行.并发:后面的任务不会等前面的任务完成了再执行,同样会

IOS UIPageControl(分页控制器) 用法总结

UIPageControll 是继承于UIControl的一个IOS系统UI控件,可以提供给开发者设计分页效果的功能. 初始化方法 UIPageControl * page = [[UIPageControl alloc]initWithFrame:CGRectMake(100, 100, 100, 100)]; 设置控制器页数(默认为0) @property(nonatomic) NSInteger numberOfPages;   设置当前所在页码 @property(nonatomic)

IOS UIProgressView控件用法

进度条控件是IOS开发中一个简单的系统控件,使用总结如下: 初始化一个进度条: - (instancetype)initWithProgressViewStyle:(UIProgressViewStyle)style; 注意:1.用这个方式初始化的进度条系统会默认给一个长度.          2.进度条的长度可以通过frame来设置,但是只有前三个参数有效.          3.风格枚举如下: ? 1 2 3 4 typedef NS_ENUM(NSInteger, UIProgressVi

IOS UILabe及UIFont用法总结

初始化一个UILabel对象,并初始化大小 UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 100,100)]; 设置显示的文字 label.text=@"123"; 和字体相关的一个类,字号大小默认17 @property(nonatomic,retain) UIFont*font;  ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

iOS中UIActivityIndicatorView的用法及齿轮等待动画实例_IOS

基础@派生自UIView,所以它是视图,也可以附着在视图上.一.创建 复制代码 代码如下: // 因为UIActivityIndicatorView的大小是固定的,可以直接设置它.center UIActivityIndicatorView* activityIndicatorView = [ [ UIActivityIndicatorView alloc ] initWithFrame:CGRectMake(250.0,20.0,30.0,30.0)]; 二. 属性设置风格 复制代码 代码如下

IOS UIActivityIndicatorView(指示控制器)用法总结

对于UIActivityIndicatorView的使用,我们一般会创建一个背景View,设置一定的透明度,然后将UIActivityIndicatorView贴在背景View上,在我们需要的时候将这个view呼出. 初始化UIActivityIndicatorView - (instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style; 这个风格是一个枚举,如下 ? 1 2 3 4 5 6 7 8

iOS中UIScrollerView的用法及基于AotoLayout的控件悬停_IOS

UIScrollView为了显示多于一个屏幕的内容或者超过你能放在内存中的内容.Scroll View为你处理缩小放大手势,UIScrollView实现了这些手势,并且替你处理对于它们的探测和回应.其中需要注意的子类是UITableView以及UITextView(用来显示大量的文字).还有一个UIWebView,尽管那不是UIScrollView的直接子类,它适用UIScrollView去显示网页内容contentsize是内容的宽和高,contentsize.width是内容的宽度,cont