【问题标题】:NSManagedObject Transformable Array of custom objects null/unpopulatedNSManagedObject 自定义对象的可转换数组 null/unpopulated
【发布时间】:2020-12-07 09:11:52
【问题描述】:

我有一个像这样的核心数据模型:

User
- objectId
- access (transformable - array of "User_Access")

CustomObject
- objectId
- name
- etc

User_Access
- customObject

对象保存正确,可转换访问数组已正确填充,但在应用第二次使用时,“访问”数组是未填充对象的数组:

"<User_Access: 0x6060001746e0> (entity: <null>; id: (null); data: <fault>)"

我正在使用这样的获取请求:

NSFetchRequest *fetch = [NSFetchRequest fetchRequestWithEntityName:@"User"];
[fetch setReturnsObjectsAsFaults:NO];
[fetch setIncludesSubentities:YES];
[fetch setIncludesSubentities:YES];
NSArray *test = [[SPModel objectContext] executeFetchRequest:fetch error:nil];
    
if (test.count == 0) {
    return nil;
}
    
User *user = (User *)test.firstObject;

获取请求完美地获取了用户对象的属性,但未填充可转换的“访问”数组。

【问题讨论】:

    标签: ios xcode core-data nsmanagedobject


    【解决方案1】:

    解决了!

    不要使用可转换对象来存储核心数据对象数组,而是使用关系并将目标设置为自定义对象类,并将类型从 To One 更改为 To Many

    这将要求您将头文件中的属性更改为 NSSet 而不是 NSArray

    【讨论】:

      猜你喜欢
      • 2017-05-18
      • 2021-07-07
      • 1970-01-01
      • 1970-01-01
      • 2017-08-20
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多