首先我承认我的无知,在我从事项目的几个月里,我已经学到了关于 Objective-C 的一切。我还发现,Objective-C 似乎使我使用过的任何其他语言中的简单问题变得复杂,这非常令人沮丧。这个问题就是一个例子...
在第一次运行中,我的应用程序下载了一堆 JSON,用于填充 CoreData 存储。我使用 Obj-C/JSON 库 (CJSONDeserializer) 将 JSON 转换为 NSArray。在一个 CoreData 实体的 JSON 下载中,有一个包含数字的字段 ("show_id":2
) 如果存在一个或 null ("show_id":null
) 否则。在处理该字段时,我使用以下方法将其分配给 NSNumber:
NSNumber *shoIndex = [[item objectForKey:typeKey] objectForKey:@"show_id"];
然后,我尝试在尝试获取和链接相关记录之前检查我是否拥有有效的号码,以免在没有相关记录的情况下进行浪费处理。
审问shoIndex
with...
NSLog(@"shoIndex: %i, %@, %@", shoIndex, shoIndex, [shoIndex description]);
Gives...
shoIndex: 19590600, <null>, <null>
其中 JSON 值是null
&...
shoIndex: 228300880, 51, 51
否则。
到目前为止,我所做的唯一成功的检查是......
if (![[shoIndex description] isEqualToString:@"<null>"]) {
有人能建议更好的方法吗?
更新...
从另一个角度来看shoIndex
被指定为NSNumber
有时包含一个NSString
value @"<null>"
。 Obj-C 有类似的东西吗isa
我可以用它来检查内容类型的运算符shoIndex
?
蒂亚,佩德罗。