ios - 处理字典中的 null 和 NSDate

标签 ios objective-c nsdate nsdictionary

我有一些数据存储在一个对象中,比如 objectA。当我打印 objectA 时,它看起来像:

{
  employeeId = 1234;
  startDate = (null);
  endDate = 2013-10-01 04:59:59 +0000;
}

我将其存储在字典中,如下所示:

NSDictionary *dict = @{@"employee_id" : objectA.employeeId,
                       @"start_date" : objectA.startDate,
                       @"end_date" : objectA.endDate};

当我跨过 dict 代码时发生崩溃,因为我试图在 dict 中插入一个 nil 对象。 错误:尝试从 objects[1] 插入 nil 对象

这也是将日期传递给字典的正确方法,因为当我通过 isValidJson 检查传递该字典时,应用程序再次崩溃。

我是不是做错了什么?在将数据传递给字典时如何处理 null/nil 检查?

最佳答案

如果你的日期是 nil,要么不要将它包含在字典的那个条目中(然后当你尝试读取那个键时你会得到一个 nil 结果)或者使用 [NSNull null] 作为一个占位符对象(或者任何你可能想要使用的空占位符常量——比如一个特定的字符串@"thisismynullstringconstant")然后当你从字典中读取你的空值时将它转换为 nil。

关于ios - 处理字典中的 null 和 NSDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19126270/

相关文章:

ios - iphone json 网络服务发布数据

ios - 在 coredata 加载时更新 Bool

objective-c - ipad 屏幕录制

ios - 在 iOS7 中更改安全 UITextField 奇怪行为中的 UIFont

iphone - iOS - 解析不同格式的日期

ios - NSDateFormatter dateFromString 结果错误?

swift - 如何在 Swift 中检查有效的 Date()

iOS - 使用两个不同的 UIButton 左右旋转图层

ios - 无法在 UISearchBar 中将 UITextField 的 borderStyle 设置为 None

ios - 找不到飞利浦 Hue SDK 架构 i386 的符号