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