NSDateFormatter return (null) 当 NSDate 为 nil 时的字符串

NSDateFormatter return (null) string when NSDate is nil

我使用日期格式器来获取新字符串,但在某些情况下 startDate 可以为 nil。

resultDate = [NSString stringWithFormat:@"%@", [formatter stringFromDate:startDate]];

然后 resultDate 获取 (null) 字符串 (NSTaggedPointerString),但如果格式化程序获取 nil 作为日期参数,我希望只获取 nil。

NSDateFormatter 上的 stringFromDate 实例方法需要 (nonnull NSDate *) 和 returns NSString * _Nonnull

_Nonnull 关键字指定 stringFromDate 将始终 return 一个 NSString * 而永远不会 return nil,因此在 nil 日期 stringFromDate 将 return 字符串 "null".

当前接受的答案实际上并不正确。

stringFromDate 当你传递 nil 日期时 return nil

您的字符串为“(null)”的原因是 [NSString stringWithFormat:"%@", nil] return 字符串为“(null)”