同じ値「id」(「id」、「_id」、または「pId」)に対して異なるインターフェースを持つことができるAPIを呼び出します。
ただし、現在、最初の : @"id": @"_id" に対してのみ機能します。他は無視されます。
JSON
object:{ "pId" : 192039,
"name" : "test}
動作する IOS: self.id = 192039
+ (NSDictionary *)JSONKeyPathsByPropertyKey {
return @{
@"id": @"pId",
@"id": @"_id",
@"id": @"id",
@"title": @"name",
};
}
動作しない IOS: self.id =
+ (NSDictionary *)JSONKeyPathsByPropertyKey {
return @{
@"id": @"_id",
@"id": @"id",
@"id": @"pId",
@"title": @"name",
};
}
編集
ディクショナリ内のキーは一意でなければなりません....
私が見つけた唯一の解決策は、3つの異なるプロパティを作成し、そのようなセッターをオーバーライドすることです:
+ (NSDictionary *)JSONKeyPathsByPropertyKey {
return @{
@"pId": @"pId",
@"id2": @"_id",
@"id": @"id",
@"title": @"name",
};
}
- (void) setPid:(NSString *)pId
{
_id = pId;
}
- (void) setId2:(NSString *)id2
{
_id = id2;
}