IOS 谓词】的更多相关文章

IOS谓词--NSPredicate 分类: IOS应用2013-02-19 17:24 6792人阅读 评论(1) 收藏 举报 Cocoa 提供了NSPredicate 用于指定过滤条件,谓词是指在计算机中表示计算真假值的函数,它使用起来有点儿像SQL 的查询条件,主要用于从集合中分拣出符合条件的对象,也可以用于字符串的正则匹配.首先我们看一个非常简单的例子,对谓词有一个认知.#import <Foundation/Foundation.h>@interface Person: NSObje…
谓词在搜索的时候非常管用.简单示例代码如下: 分类Person.h文件 #import <Foundation/Foundation.h> @interface Person : NSObject @property (nonatomic, copy) NSString *name; @property (nonatomic, assign) int age; @end Person.m文件 重写一下description方法,输出打印时 便于观看 #import "Person.h…
// 谓词 Person *person = [[Person alloc]init]; person.name = @"zhang san"; person.age = 20; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name like 'zhang1*'"]; BOOL resultFlag = [predicate evaluateWithObject:person]; NSLog…
1.NSPredicate (1)比较运算符 1.比较运算符 > .< .== . >= .<= . != 运算符还可以跟逻辑运算符一起使用,&&  ,  || ,AND, OR 谓词不区分大小写 NSPredicate *p = [NSPredicate predicateWithFormat:@"age >= 18 && name = '周周'"]; //根据谓词要求返回响应数组 NSArray * personList…
Cocoa中谓词(Predicate)提供了一个通用的查询方式处理数据,可以获取和指定数据的过滤形式,Cocoa实际开发中可以是使用NSPredicate及其父类NSComparisonPredicate和NSCompoundPredicate.其风格类似于SQL查询语言和正则表达式的混合体,提供了具有表现力的,自然语言界面来定义一个集合被搜寻的逻辑条件.一般来说稍微操作过数据库基本上很容易理解其中的方法,至于使用的方法也很简单.如下代码是实现方法: BIDValidateMgr.h 代码: /…
原文地址http://blog.csdn.net/wuyepiaoxue789/article/details/77885136 元素属性的介绍 type:元素类型,与className作用一致,如:XCUIElementTypeStaticTextvalue: 一般不用name:元素的文本内容,可用作 AccessibilityId定位方式,如:测试420班级群label:绝大多数情况下,与 name 作用一致enabled:元素是否可点击,一般值为true或者falsevisible:元素是…
1. 元素属性介绍 下图是通过weditor定位的微博的"我的钱包",各属性如下图: className:元素类型,如:XCUIElementTypeButton isEnabled:元素是否可点击,一般值为1或者0 isVisible:元素是否可见,一般值为1或者0 value: 一般不用 label:绝大多数情况下,与 name 作用一致 name:元素的文本内容,可用作 AccessibilityId定位方式 xpath: 元素的绝对路径,可用作Xpath定位方式 2. IOS的…
该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/slate/cn/master/?ruby#about-appium 中文Appium API 文档 第一章:关于appium 1.1 appium客户端 客户端类库列表及Appium服务端支持 这些类库封装了标准Selenium客户端类库,为用户提供所有常见的JSON 格式selenium命令以及额…
该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/slate/cn/master/?ruby#about-appium 中文Appium API 文档 第一章:关于appium1.1 appium客户端客户端类库列表及Appium服务端支持 这些类库封装了标准Selenium客户端类库,为用户提供所有常见的JSON 格式selenium命令以及额外的…
Appium-desktop 下载地址:https://github.com/appium/appium-desktop/releases 一般功能 这些能力跨越多个驱动因素. 仅限Android 这些功能仅适用于基于Android的驱动程序(例如 UiAutomator2). 仅限iOS 这些功能仅适用于XCUITest驱动程序和过时的UIAutomation驱动程序. appium调用应用 1.调用已安装的包 from appium import webdriver from time im…
使用过 Appium 的都知道,元素的定位方式有很多种,具体使用哪一种,主要看业务的需要和自己的使用爱好.下面总结一下,Appium 到底有哪些定位方式,定位的元素以下面截图指定的元素为例子:   这里给 Macaca 的 inspector 查看器打个广告,的确很好用,有需要可到社区的 Macaca 版块自己查找啊! Appium 的定位方式种类 我说的定位方式都是基于我自己亲测过,没使用或比较少用的就在这里不列举了,如有错误的地方,请多多包涵!常用的定位方式(仅限 Android 和 iOS…
http://www.cocoachina.com/ios/20160111/14926.html 首先,我们需要知道何谓谓词,让我们看看官方的解释: The NSPredicate class is used to define logical conditions used to constrain a search either for a fetch or for in-memory filtering. NSPredicate类是用来定义逻辑条件约束的获取或内存中的过滤搜索. 可以使用…
编程的人员不管是上过大学还是从培训机构出来的或做后台的.前端的都应该SQL语句有所了解,我们知道,在SQL语句当中 where 条件表达式可以对二维关系表的数据做条件筛选.微软的C# .net中也实现了功能能和SQL语句相媲美的技术,它就是List泛型集合的Lambda表达式,支持查找.排序.比较.组合等.在java中虽然没有在语言中集成对List对象的操作的实现,但是第三方开源库同样实现了这一功能.在IOS开发Cocoa框架中提供了一个功能强大的类NSPredicate,下面来讨论一下它的强大…
一. 字符串 API 1. NSString 用法简介 (1) NSString API 介绍 NSString 功能 : -- 创建字符串 : 使用 init 开头的实例方法, 也可以使用 String 开头的方法; // init 开头方法创建字符串 unichar data[5] = {97, 98, 99, 100, 101}; NSString * str = [[NSString alloc] initWithCharacters : data length : 5]; // str…
#import <Foundation/Foundation.h> @interface Person : NSObject<NSCopying> @property(nonatomic,copy) NSString *name; @property(nonatomic,retain) NSNumber *age; -(void) setNewName:(NSString *) name; @end #import "Person.h" @implementat…
Cocoa提供了一个类NSPredicate类,该类主要用于指定过滤器的条件,该对象可以准确的描述所需条件,对每个对象通过谓词进行筛选,判断是否与条件相匹配.谓词表示计算真值或假值的函数.在cocoa中封装的一个数据库框架cocoaData里面 在进行查询(包括模糊查询)时同样会要用到谓词:下面对谓词的使用方法及规则进行简要的介绍下: 1,用predicateWithFormat创建一个谓词 条件 NSString *predicateString =@"name=='Herbie'"…
我们在开发中经常使用的Predicate谓词,主要是正则表达式的使用,今天给大家简单的讲讲怎样去使用谓词. 因为内容比较简单,所以直接上代码展示: NSMutableArray *people_arr = [NSMutableArray new]; NSMutableArray *filter_arr = [NSMutableArray new]; for (int i = 0; i < 10; i++) { People *people = [People new]; people.name…
--系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用系统应用.使用系统服务: 调用系统应用 使用系统服务 短信与邮件 通讯录 蓝牙 社交 Game Center 应用内购买 iCloud Passbook 系统应用 在开发某些应用时可能希望能够调用iOS系统内置的电话.短信.邮件.浏览器应用,此时你可以直接使用UIApplication的OpenUR…
概览 在iOS开发中数据存储的方式可以归纳为两类:一类是存储为文件,另一类是存储到数据库.例如前面IOS开发系列-Objective-C之Foundation框架的文章中提到归档.plist文件存储,包括偏好设置其本质都是存储为文件,只是说归档或者plist文件存储可以选择保存到沙盒中,而偏好设置系统已经规定只能保存到沙盒的Library/Preferences目录.当然,文件存储并不作为本文的重点内容.本文重点还是说数据库存储,做过数据库开发的朋友应该知道,可以通过SQL直接访问数据库,也可以…
CloudKit是苹果推出的基于iCloud的一个云端数据存储服务.其 主要由下面两部分组成: 一个仪表web页面,用于管理公开数据的记录类型. 一组API接口,用于iCloud和设备之间的数据传递. 一:首先在XCode上面打开关于iCloud功能 1:进入对应的项目Targets 中的Capabilities 选项卡,打开关于iCloud功能:如果勾选iCloud Documents或CloudKit会自动生成一个带iCloud.开头的Containers,要配置证书支持:CloudKit…
转载:http://www.jianshu.com/p/5d2163640e26 序言 目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了.今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,加之,培训机构一火车地向用人单位输送iOS开发人员,打破了生态圈的动态平衡.矫情一下,言归正传,我奉献一下,为iOS应聘者梳理一下面试题,希望能助一臂之力! OC的理解与特性 OC作为一门面向对象的语言,自然具有面向对象的语言特性:封装.继承.多态.它既具有静态语言的特性(如C++),又…
下面的东西是编写自定义的表情键盘,话不多说,开门见山吧!下面主要用到的知识有MVC, iOS开发中的自动布局,自定义组件的封装与使用,Block回调,CoreData的使用.有的小伙伴可能会问写一个自定义表情键盘肿么这么麻烦?下面将会介绍我们如何用上面提到的东西来定义我们的表情键盘.下面的内容会比较多,这篇博文还是比较有料的. 还是那句话写技术博客是少不了代码的,下面会结合代码来回顾一下iOS的知识,本篇博文中用到的知识点在前面的博客中都能找到相应的内容,本篇算是一个小小的功能整合.先来张图看一…
在接触到CoreData时,感觉就是苹果封装的一个ORM.CoreData负责在Model的实体和sqllite建立关联,数据模型的实体类就相当于Java中的JavaBean, 而CoreData的功能和JavaEE中的Hibernate的功能类似,最基本是两者都有通过对实体的操作来实现对数据库的CURD操作.CoreData中的上下文(managedObjectContext)就相当于Hibernate中的session对象, CoreData中的save操作就和Hibernate中的comm…
简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取. 定义(最常用到的方法): NSPredicate *ca = [NSPredicate predicateWithFormat:(NSString *), ...]; Format: (1)比较运算符>,<,==,>=,<=,!= 可用于数值及字符串 例:@"number > 100" (2)范围运算符:IN.BETWEEN 例:@&…
李洪强iOS经典面试题144-数据存储   数据存储 sqlite中插入特殊字符的方法和接收到处理方法. 除'其他的都是在特殊字符前面加"/",而 ' -> '' .方法:keyWord = keyWord.replace("/","//"); 什么是NSManagedObject模型? NSManagedObjcet是NSObject的子类,Core Date的重要组成部分.是一个通用类,实现了Core Date模型层所需的基本功能,用户…
摘要:1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系. 作者:Job_Yang 之前看了很多面试题,感觉要不是不够就是过于冗余,于是我将网上的一些面试题进行了删减和重排,现在分享…
tip 1 :  给UIImage添加毛玻璃效果 func blurImage(value:NSNumber) -> UIImage { let context = CIContext(options:[KCIContextUseSoftwareRenderer:true]) let ciImage = CoreImage.CIImage(image:self) let blurFilter = CIFilter(name:"CIGassianBlur") blurFilter?…
通过简书iOS客户端登录,我们会看到请输入手机号或者邮箱登录,但是我们随机输入1234567的时候,便会弹出手机格式不正确,同样也会识别我们的邮箱格式,那么我们在项目中怎么实现这种判断呢? 0E471361-060C-4D93-913F-73622F89BC60.png 这就是我们今天要说的正则表达式. 正则表达式的介绍 正则表达式有多种使用方法,根据我们的需要,我们是要判断输入是否合法,还是查找指定的内容,还是捕获多个输入的内容,可以选用不同的方法,今天我们主要说一下,判断输入是否合法,用谓词…
1. CoreData数据库框架的优势 1> CoreData历史 CoreData数据持久化框架是Cocoa API 的一部分,首次在iOS5版本的系统中出现,它允许按照实体-属性-值模型组织数据,并以XML.二级制文件或者SQLite数据文件的格式持久化数据. CoreData主要提供对象 --- 关系映射(ORM)功能,把OC对象转化为数据保存到文件,也可以数据转化为OC对象. 2> CoreData数据库与Sqlite数据库的比较 Sqlite: 基于C接口,需要使用sql语句,但是代…
1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承:可以实现多个接口,通过实现多个接口可以完成C++的多重继承:Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系. 2. #import 跟#include 又什么区别,@class呢, #import<> 跟 #import””又什么区别?…