Core data 使用afincrementalstore处理关系ID

Core data 使用afincrementalstore处理关系ID,core-data,afincrementalstore,Core Data,Afincrementalstore,在我的数据模型中,我有以下实体: Album: - name (required attribute) - year - tracks ... Track: - name (required attribute) - Album ... 我有一个服务器数据响应,它通过只提供相关对象的标识符来包含关系细节 /专辑/1 返回: 目前,AFIncrementalStore无法保存上下文,因为track实体对象验证失败。除了在数据模型中选择关系之

在我的数据模型中,我有以下实体:

Album:
    - name (required attribute)
    - year
    - tracks 
    ...

Track:
   - name (required attribute)
   - Album
    ...
我有一个服务器数据响应,它通过只提供相关对象的标识符来包含关系细节

/专辑/1 返回:


目前,AFIncrementalStore无法保存上下文,因为track实体对象验证失败。除了在数据模型中选择关系之外,还有什么方法可以解决这个问题吗?

我认为如果我们对您自己的模型进行如下思考:

  • 这张专辑有很多曲目
  • 一首歌有一张专辑
根据这些信息,我们需要两个实体(一对多)之间的关系。。 您可以通过跟踪获取请求,并在方法
-(NSDictionary*)attributes for representation:(NSDictionary*)实体表示:(NSEntityDescription*)实体from response:(NSHTTPURLResponse*)response
中检查实体名称并将数据映射到您的模型

据我所知,如果您的模型名类似于服务器的响应密钥,AFIncremantalStore将根据您的模型上的密钥和服务器的响应自动进行映射

这就是我从你的问题中所了解到的,我希望答案能满足你的问题

{
   id:2,
   name:"The White Album",
   year:1968,
   ...
   tracks: ({id:12}, {id:13}, {id:14})
}