ios - 在 Xcode 中,NSFetchRequest 只返回对象,而不是它们的属性

标签 ios xcode core-data nsfetchrequest

我有以下代码从核心数据中获取一组“项目”(每个“项目”都有一些属性,例如“标题”、“时间”、“结束时间”、“付款”等):

NSFetchRequest *request = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Project" inManagedObjectContext:__managedObjectContext];
    [request setEntity:entity];

    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"endTime" ascending:NO];
    NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
    [request setSortDescriptors:sortDescriptors];


    NSError *error = nil;
    NSMutableArray *mutableFetchResults = [[__managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
    if (mutableFetchResults == nil) {
        // Handle the error.
    }

    [self setEventsArray:mutableFetchResults];

但是只返回项目而不返回它们的属性:<NSManagedObject: 0x154010> (entity: Project; id: 0x1dad70 <x-coredata://85BD9DF1-B41B-4234-8397-C2F568D0CC7A/Project/p3> ; data: <fault>

我是否必须单独获取属性或者我错过了什么?谢谢。

最佳答案

看到抓取错误是正常的。故障是替代对象或“幽灵”对象,它们表示托管对象在对象图中的位置,而无需加载一堆可能永远不需要的属性数据。

在您尝试访问特定托管对象的属性之一之前,您不会看到属性日志。

新创建的对象或对现有对象属性的更改将不会保存到磁盘,直到您在托管对象上下文上调用保存。

关于ios - 在 Xcode 中,NSFetchRequest 只返回对象,而不是它们的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7930048/

相关文章:

iOS 模拟器因麦克风权限请求而崩溃

iPhone - 使用核心数据中的子对象从父表获取数据

ios - 解析 : Facebook login not creating new PFUser

ios - 自定义 UITableViewCell 中的 UIButton 导致在多个单元格中选择按钮

iphone - 根据日期过滤数据库值

ios - "Your account already has a valid iOS Development certificate"错误

iphone - 使用 Safari 的 Web Inspector 调试 PhoneGap 的工作流程

ios - 将 Pd 补丁导出到 Apple App Store

cocoa - 插入后 NSManagedObjectContextObjectsDidChangeNotification

ios - 使用 Core Data 在 Apple Watch 和 iPhone 之间共享数据