나는이 모델을 가지고 :연결은 한 - 투 - 많은 Restkit
는extension Notification {
@NSManaged var pk: NSNumber?
@NSManaged var subtitle: String?
@NSManaged var title: String?
@NSManaged var user: User?
}
extension User {
// here's some attributes
@NSManaged var pk: NSNumber?
@NSManaged var notifications: NSSet?
// and here's really some more..
}
처럼 보일 수있는 사용자의 통지를 나열하는 응답 :
[
{
"pk": 2,
"title": "Hi mate",
"subtitle": "O hoy",
"user": 2
}
]
"user": 2
는 것을 의미한다 pk = 2 인 사용자에게 속합니다.
이 알림을 사용자에게 올바르게 매핑하려면 어떻게해야합니까?
let mapping = RKEntityMapping(forEntityForName: String(Notification), inManagedObjectStore: RKObjectManager.sharedManager().managedObjectStore)
mapping.identificationAttributes = [ "pk" ]
mapping.addAttributeMappingsFromDictionary([
"pk": "pk",
"title": "title",
"subtitle": "subtitle",
])
mapping.addConnectionForRelationship("user", connectedBy: [
"user.pk": "pk"
])
내가
mapping.addConnectionForRelationship("user", connectedBy: [
"pk"
])
을 할 수 있지만 그때는 Notification
같은 PK와 사용자에게 연결 : 내 시도이다.
내가 오류는 다음과 같습니다
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Cannot connect relationship: invalid attributes given for source entity 'Notification': user.pk'
가 어떻게 이것을 달성 할 수 있습니까?
알림에 일시적인 속성 사용자를 추가하고 userPk를 pk에 매핑해야합니까?
편집 : 일시적인 속성을 사용하여 작업하고 있는데 이것이 유일한 방법입니까?
mapping.identificationAttributes = [ "pk" ]
mapping.addAttributeMappingsFromDictionary([
"pk": "pk",
"title": "title",
"subtitle": "subtitle",
"user": "userPk"
])
mapping.addConnectionForRelationship("user", connectedBy: [
"userPk": "pk"
])
userPk 지금만큼 당신은 사용자의 ID를 얻을로 Notification