【发布时间】:2010-11-20 05:02:37
【问题描述】:
首先我承认我的无知,在我从事项目的几个月里,我学到了关于 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 值@"<null>"。 Obj-C 是否有类似 isa 的运算符,可以用来检查 shoIndex 的内容类型?
TIA,佩德罗。
【问题讨论】:
-
是什么让你认为对象是
NSNumber的实例?
标签: iphone null compare nsnumber