ios - NSCFCalendar dateFromComponents : components cannot be nil

标签 ios objective-c nsdate nscalendar

执行以下代码后

NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *expiryDateComponents = [calendar components:(NSCalendarUnitEra|NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay) fromDate:aDate];

你得到以下非崩溃异常

*** -[__NSCFCalendar dateFromComponents:]: components cannot be nil
Future exception.
A few of these errors are going to be reported with this complaint, then further violations will simply be ignored.

最佳答案

tl;dr 确保 fromDate 参数不是 nil

解释:

NSCalendar 不知道如何处理当你给它一个 nil NSDate 的情况。 API 会向您发出警告,而不是抛出崩溃异常。请注意,此行为可能会发生变化,并可能在未来因 API 更改而导致崩溃。

关于ios - NSCFCalendar dateFromComponents : components cannot be nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31833363/

相关文章:

ios - 以编程方式默认 iPhone 屏幕截图

objective-c - 右侧标注附件按钮在此代码的注释 View 上不可见

iphone - 将 UITableView 与 NSMutableArray 链接

ios - 从不同的 Xcode 项目加载 Storyboard

ios - 将 String 转换为 NSDate 但仍然无法访问 dateByAddingTimeInterval 方法

IOS Swift- UITabBar 自定义标签栏在栏的开始和结束处留下空白

iphone - UITableViewCell 重复 UIImages

ios - 在 objective-c 中仅从 NSDate 中选择工作日

ios - Obj-C 解析秒到 dd :hh:mm:ss

iphone - 我的应用程序被 Apple 拒绝,因为它在 iPhone 5 上崩溃