zoukankan      html  css  js  c++  java
  • 使用CoreData实现数据操作-加载好友列表的问题

    CoreData 实现对数据库数据的操作;

    准备一些假数据:a、创建数据模型文件Data Model file(相当于数据库文件,自动生成)

            b、创建实体Entity(创建表,这里我们手动创建)

            c、对照实体Entity,创建模型对象(半自动/手动)

    1、创建上下文对象

    2、协调器对象

    3、数据持久化对象

    4、绑定上面三个对象的联系

    5、对数据操作  

    以上的5个步凑斗可以有Xcode全自动的实现

    CoreData的读写流程:

    创建模型类(对象包含数据)

    写:模型对象-->设置值->创建上下文->存储到数据库文件中

    读:上下文对象->查询方法->模型对象(数据)

    在我们创建CoreData需要类的user Core Data按钮

    - (void) loadFriends
    {
        // 获取管理对象的上下文--增、删、改、查
        NSManagedObjectContext *context = [[KRXMPPTool sharedKRXMPPTool].xmppMsgArchStore mainThreadManagedObjectContext];
        // 请求对象关联实体(相当于Sql语句)
        NSFetchRequest *requst = [NSFetchRequest fetchRequestWithEntityName:@"XMPPMessageArchiving_Message_CoreDataObject"];
        // 过滤条件(相当于sql中的where部分)
        NSPredicate *pre = [NSPredicate predicateWithFormat:@"streamBareJidStr = %@",
                [KRUserInfo sharedKRUserInfo].jid];
        requst.predicate = pre;
        // order by
        NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"timestamp" ascending:NO];
        requst.sortDescriptors = @[sort];
        self.friends = [context executeFetchRequest:requst error:nil];
        NSMutableSet * names = [NSMutableSet set];
        for (int i=0; i<self.friends.count; i++) {
            XMPPMessageArchiving_Message_CoreDataObject *ma = self.friends[i];
            [names addObject:ma.bareJidStr];
        }
        self.friendNames = [names allObjects];
    }

    数据模型对应OC中的NSManagedObjectModle(被管理对象的模型类),管理数据库中的所有的表

  • 相关阅读:
    tensorflow在文本处理中的使用——Doc2Vec情感分析
    tf.squeeze()
    tf.concat()
    tf.slice()
    WebService到底是什么?
    Webservice工作原理及实例
    Iterator,foreach遍历小计
    谈谈今年很火的区块链 CDN
    Java 反射简介(转载)
    Ajax二级联动简单实例
  • 原文地址:https://www.cnblogs.com/CCMMBN/p/5339120.html
Copyright © 2011-2022 走看看