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(被管理对象的模型类),管理数据库中的所有的表

  • 相关阅读:
    【ST】lab01——Junit and Eclemma
    【SPM】hw1——个人房间装修
    【ST】hw2——find the error in the follow case
    【ST】Describe an error from my past projects
    ST homework4 --- 图覆盖
    ST lab1——Junit和覆盖测试的初探
    ST work12——failure,fault,error
    ST work1——印象最深的一个bug DJI 激活时报 SDK_ACTIVE_SDK_VERSION_ERROR
    C# note 06——delegate 和 event
    C# note 05——异常处理
  • 原文地址:https://www.cnblogs.com/CCMMBN/p/5339120.html
Copyright © 2011-2022 走看看