CoreData数据库操作
来源:互联网 发布:淘宝如何设置限时打折 编辑:程序博客网 时间:2024/05/11 06:05
CoreData增删改查
messageFetchRequest.predicate = [NSPredicate predicateWithFormat:@"toAccount == '130000011111'"];
1.增加一条数据
NSEntityDescription *enity = [NSEntityDescription entityForName:@"Contact" inManagedObjectContext:self.managedObjectContext];
Contact *oneContact = [[Contact alloc]initWithEntity:enity insertIntoManagedObjectContext:self.managedObjectContext];
oneContact.iid = [NSString stringWithFormat:@"%lu", (unsigned long)containsContact.count];
oneContact.account = realUserName;
oneContact.status = [[item attributeForName:@"subscription"]stringValue];
[self.managedObjectContext save:nil];
2.删除一条数据
//不推荐使用谓词,有的时候并不能精确度的找到
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Contact"];
// request.predicate = [NSPredicate predicateWithFormat:@"account = '%@'",shieldUsername];
NSArray *datas = [self.managedObjectContext executeFetchRequest:request error:nil];
for (Contact *model in datas) {
if ([model.account isEqualToString:shieldUsername]) {
[self.managedObjectContext deleteObject:model];
NSLog(@"删除成功");
}
}
if ([self.managedObjectContext save:nil]) {
NSLog(@"保存成功");
}
else
{
NSLog(@"删除失败");
}
3.修改一条数据,先查后改
UITextField *textF = alert.textFields.firstObject;
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Contact"];
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"account == %@",self.contactModel.account];
NSArray *result = [self.managedObjectContext executeFetchRequest:fetchRequest error:nil]; //_managedObjectContext
for (Contact *model in result) {
model.name = textF.text;
_contactModel = model;
[self.tableView reloadData];
}
[_managedObjectContext save:nil];
或
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"RecentSession"];
request.predicate = [NSPredicate predicateWithFormat:@"fromNumber == %@",weakSelf.contactModel.account];
NSArray *arr = [weakSelf.managedObjectContext executeFetchRequest:request error:nil];
RecentSession *recentModel = arr.firstObject;
if (arr.count != 0) {
recentModel.fromName = textF.text;
}
[weakSelf.managedObjectContext save:nil];
4.全表查询
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Contact"];
NSArray *containsContact = [self.managedObjectContext executeFetchRequest:fetchRequest error:nil];
for (Contact *obj in containsContact) {
if ([obj.account isEqualToString:realUserName]) {
return;
}
5.条件查询
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Pre_Message"];
request.predicate = [NSPredicate predicateWithFormat:@"other_msg_id == %@",msgID]; //注意此处@"other_msg_id == %@"
NSArray *arr = [self.managedobjectContext executeFetchRequest:request error:nil];
6.谓词的使用
-(void)sendFailMessage
{
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc]initWithEntityName:@"Pre_Message"];
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"msgFrom == 'me' and myAccount == %@ and msgType = '0' and msgStatus == 'f' or msgStatus == %@",[[NSUserDefaults standardUserDefaults] objectForKey:@"userPhone"],@""];
NSArray *arr = [self.objectContext executeFetchRequest:fetchRequest error:nil];
if (arr.count > 0) {
NSArray *orderArray = [self orderedTimeWithArray:arr];
for (Pre_Message *model in orderArray) {
[[XmppMessageSenderHelper shareSendMessageHelper] sendMessageToJid:[NSString stringWithFormat:@"%@@casing.com",model.toAccount] type:model.msgType context:model.msg1 msgId:model.iid sizelong:nil];
if ([orderArray indexOfObject:model] >= 100) {
break;
}
}
}
}
- 多线程操作数据库 (CoreData)
- 多线程操作数据库 (CoreData)
- IOS coredata数据库操作
- 多线程操作数据库 (CoreData)
- CoreData数据库操作
- Navicat Premium查询CoreData、SQLit数据库操作
- Swift-->CoreData原生数据库上手操作
- CoreData数据库
- iOS之数据库-- coredata数据库操作
- CoreData的简单使用<一、CoreData数据库表的建立以及增删改查操作>
- CoreData的简单使用<二、CoreData两张数据库表的关联操作>
- coredata 多线程操作
- 使用MagicalRecord操作CoreData
- iOS- CoreData 数据库管理
- ios数据库CoreData
- CoreData 数据库的使用方法
- 封装CoreData数据库
- coreData数据库迁移
- 08.Spring Bean 解析 - BeanDefinitionDocumentReader
- 正则表达式学习
- ppt转pdf-如何转换文档格式
- hdu 1402 A * B Problem Plus 快速傅里叶变换
- 线程通信之管道方法(pipe)
- CoreData数据库操作
- STM32系列的其他产品-如果你还在用STM32F103,那么你OUT了
- C# 反射
- 从头到尾彻底解析Hash 表算法
- 使用 Docker 构建开发、测试环境
- php根据月份获取月份的起始时间和结束时间
- 多态
- 复数
- Android高级控件ListView和GridView原理分析