这个问题与 iOS 没有严格的联系,但是由于我在 iOS 应用程序中遇到了这个问题,所以我会用 Objective-C 来说话。
我的 iOS 应用程序是一个客户端,它从服务器获取一些数据。来自服务器的数据是 json,它与我的类映射。当服务器只发送对象的必要部分时,就会出现问题。
可以说完整的对象是
{
"a" : 1,
"b" : 2,
"c" : 3
}
我映射到的班级是
@class MyObject
{
int a, b, c;
}
@property (nonatomic) int a, b, c;
-(id) initFromDictionary:(NSDictionary*)dict
@end
@implementation MyObject
-(id) initFromDictionary:(NSDictionary*)dict
{
self = [super init];
if (self)
{
a = [dict[@"a"] intValue];
b = [dict[@"b"] intValue];
c = [dict[@"c"] intValue];
}
return self;
}
@end
服务器可以发送
{
"a" : 1,
"c" : 3
}
请求getAandC
和
{
"a" : 1,
"b" : 2
}
对于另一个 - getAandB
(这些请求不依赖,它们唯一相似的是它们使用的对象)。我不需要关于b
第一个和c
第二个的任何信息。
问题如下。当我为这些请求编写代码时,我肯定知道返回了哪些字段并且不使用空字段,但是一段时间后我可能会忘记哪个请求返回了部分对象或全部对象,并尝试使用空字段。所以可能会有很多错误,很难找到。
是否有针对这种情况的任何做法,或者可能有一些模式来确定对象是完全加载还是部分加载并警告开发人员?