jdo*_*dog 23 objective-c nsdictionary
如果我们的API只需要对象中的2个属性,并且iPhone应用程序不要求它们实例化对象,则当对象在参数NSDicitionary中使用时,应用程序将崩溃.我被告知NSDictionary不会让你分配nil值,因为当它达到nil时它会认为它已经完成了.objective-c是否有办法将对象非零属性吐出到NSDictionary中?
例:
[Drunk alloc] init];
drunk.started_drinking = [NSDate date];
drunk.stopped_drinking (we don't set this because he is still a drunk)
drunk.fat = YES;
drunk.dumb = YES;
parameters:@{
@"auth_token" :token,
@"name" : drunk.name, @"date_started" : drunk.started_drinking,
@"date_stopped" : drunk.stopped_drinking,
@"prescribing_doctor" : drunk.fat,
@"pharmacy" : drunk.dumb
}
Run Code Online (Sandbox Code Playgroud)
当它到达stopped_drinking属性时会崩溃.有关如何处理这个的任何建议?
Pau*_*l.s 59
这有点长,但你可以做到
static id ObjectOrNull(id object)
{
return object ?: [NSNull null];
}
parameters:@{
@"auth_token" : ObjectOrNull(token),
@"name" : ObjectOrNull(drunk.name),
@"date_started" : ObjectOrNull(drunk.started_drinking),
@"date_stopped" : ObjectOrNull(drunk.stopped_drinking),
@"prescribing_doctor" : ObjectOrNull(drunk.fat),
@"pharmacy" : ObjectOrNull(drunk.dumb),
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16034 次 |
| 最近记录: |