iOS进阶(coreData)

1.CoreData核心对象

实体管理类 NSManageredObject 实体描述类NSEntityDescription 数据管理类NSManageredObjectContext 数据连接器类NSPersistentStoreCoorDinator 数据模型器类NSManageredObjectmodel

2.利用CoreData对数据进行增删改查等操作

注意在创建工程时要勾选coreData

增删改都是建立在查询基础上的

创建查询请求

NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Student"];//查询到的是数据库中的所有内容

NSFetchRequest *request = [[NSFetchRequest alloc] init];//可以添加谓词和排序

创建实体

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Student" inManagedObjectContext:self.managedObjectContext];

request.entity = entity;//给请求添加实体

创建谓词

 NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name = %@",@"詹"];
    request.predicate = predicate;
    NSArray *array = [self.managedObjectContext executeFetchRequest:request error:nil];
    Student *stu = [array objectAtIndex:0];
    NSLog(@"name is %@, gender is %@, age is %@",stu.name, stu.gender, stu.age);

添加排序

NSSortDescriptor *des = [[NSSortDescriptor alloc] initWithKey:@"gender" ascending:YES];
    request.sortDescriptors = @[des];
时间: 2024-10-11 18:35:29

iOS进阶(coreData)的相关文章

iOS 进阶 第二十一天(0531)

0531 - Autolayout 不仅可以做屏幕适配还可以做系统适配 uidynamic 做物理动画.能做的效果如下图: Autolayout Autolayout 是一种“自动布局”技术,专门用来布局UI界面的.有了Autolayout,请忘记frame Autolayout 要比 Autoresizing 强大,两者水火不相容 Autolayout的2个核心概念 参照 约束 使用代码实现Autolayout - VFL(Visual Format Language) 实现思路如下: NSL

iOS进阶_地图上定位的标志——大头针

一.添加大头针 地图使用的框架是MapKit 大头针走的是MKAnnotation协议 /* 注意:因为是满足协议MKAnnotation,所以没有MKAnnotation的系统大头针类,必须自定义大头针类,我自定义的为MyAnnotation 大头针: 在iOS开发中经常会标记某个位置,需要使用地图标注,也就是大家俗称的“大头针”.只要一个NSObject类实现MKAnnotation协议就可以作为一个大头针,通常会重写协议中coordinate(标记位置).title(标题).subtitl

iOS 进阶 第一天(0323)

0323 Storyboard连线错误 如下图: 不允许直接修改对象的结构体属性成员,但允许直接整体修改对象的结构体属性 如下图: 打印一个控件对象的frame 如下图: 如果一个控件无论怎么改变它的大小都不起作用,那么就要想到从iOS6开始出现的AutoLayout.这个面试必面 iOS 进阶 第一天(0323)

iOS 进阶 第十五天(0417)

0417 创建UICollectionViewCell的Xib方法如下图 枚举定义导航跳转方式 js跳转到网页指定锚点 如下图所示: iOS 进阶 第十五天(0417)

iOS 进阶 第二天(0324)

0324 创建transform transform 是形变属性. 如下图: 如果按照上面的方法来创建的话是这样解释:是相对初始状态来说的,不会在变化后的基础上进行形变.如果要持续变化就要自己去不断改变要变化的tx或者ty的值 如果要在当前的transform上直接进行不断改变就要按照下面的写法,如下图所示: 当然旋转也是一样,如下图: 当然缩放也是一样,如下图: plist 从本地程序包读取文件 懒加载数据 如下图: bundle 如下图: UIImageView的序列帧动画(每隔一段时间换一

iOS 进阶 第九天(0408)

0408 makekeyAndVisible解释 一个程序可以有多个Window,但只有一个窗口能够成为主窗口.如图中所示,此时的window2是主窗口.主窗口用处大了.从iOS7开始无论是主窗口还是次窗口,都可以交互,比如文本框输入文字.但在iOS6及其之前的版本,非KeyWindow(非主窗口)是无法交互的,即无法向文本框中输入文字 如果发现一个文本框不能输入文字,那就就要想到这个文本框所在的窗口是不是主窗口 iOS主窗口和非主窗口的表现: 获取当前程序的主窗口 一些总结: 键盘也是在一个窗

iOS 进阶 第六天(0402)

0402 通知和代理的区别 代理是一对一的,只能是调用实现了协议里的方法,对象作为实现了该方法才能执行方法 通知是多对多,它是通过通知中心分发 通知要及时移除,如果不及时移除可能会收到多次通知,就好像C#中的事件注册多次一样.也可能(通知中心不会保留被通知的对象)是被通知的对象已经销毁,但通知中心仍保留这个通知继续通知造成野指针错误,应用可能会崩溃. 同时的添加和移除很容易和KVO混在一起,只要注意addObserver和removeObserver的时候不选择forKeyPath就可以了. 下

iOS 进阶 第十一天(0411)

0411 UItaBbar的结构 每一个数组都有一个方法,那就是下面这个,如下图所示: 如果想看系统控件是怎么构成的,那么就采用遍历其子控件的方式来做,如上一图中所示 在iOS7及其以后的系统里,控制器ViewController的View都是通栏的,从头到脚.但在iOS6及其以前的系统里控制器ViewContorller的View的高度要去掉被遮盖的部分. strong和weak 对象销毁准则: 非ARC:只要对象的引用计数器为0,系统自动会销毁此对象 ARC:只要没有任何强指针指向此对象,系

iOS 进阶 第三天(0326)

0326 Xib:描述软件界面,轻量级,一般用来描述局部界面 Xib的获取,如下图所示: xib在我们开发的时候叫xib,但如果运行在我们手机里会生成nib.所以xib和nib两种方法来访问xib iOS 进阶 第三天(0326)