한다고 가정 나는이 같은 모델이 멋지게 플레이를 할 수 방법 : 당신이 볼 수 있듯이YapDatabase과 맨틀 직렬화
#import <Mantle/Mantle.h>
#import "MyCustomObject.h"
@interface MyModel : MTLModel <MTLJSONSerializing>
@property (nonatomic, copy, readonly) NSString *UUID;
@property (nonatomic, copy) NSString *someProp;
@property (nonatomic, copy) MyCustomObject *anotherProp;
@end
#import "MyModel.h"
@implementation MyModel
+ (NSDictionary *)JSONKeyPathsByPropertyKey
{
return @{
@"UUID": @"id",
@"anotherProp": NSNull.null
};
}
}
@end
, 나는의 NSCoding 직렬화하는 동안 anotherProp
을 무시 할뿐만 아니라 재지도 "UUID"를 "id"로 변경하십시오. YapDatabase으로, 나는
[transaction setObject:myModelObj forKey:@"key_1" inCollection:@"my_collection"]
할 수 있지만,이 오류의 결과로, 내 사용자 정의 JSONKeyPathsByPropertyKey
방법에도 불구하고 anotherProp
를 직렬화하려고 시도 :
*** Caught exception encoding value for key "anotherProp" on class MyModel: -[YapDatabase encodeWithCoder:]: unrecognized selector sent to instance 0xc989630
내가 사용하는 YapDatabase을 얻을 수있는 사용자 지정 serializer를 작성해야합니까 JSONKeyPathsByPropertyKey
?
예, 맞춤 직렬 변환기가 필요할 수도 있습니다. 내가 상자 또는 밖으로 일하는 그런 serializer/deserializer의 구현을 찾고 있는데요. 적어도 JSONKeyPathsByPropertyKey를 사용할 수있게 해주는 접근 방식입니다. – ccwasden