【问题标题】:error after calling TimeIntervalSinceNow on an NSDate?在 NSDate 上调用 TimeIntervalSinceNow 后出错?
【发布时间】:2011-03-14 16:55:55
【问题描述】:

我正在使用以下方法来确定两个 NSDate 之间的天数:

- (int)daysBetweenDate:(NSDate *)start andDate:(NSDate *)end {

    NSTimeInterval lastDiff = [start timeIntervalSinceNow];
    NSTimeInterval todaysDiff = [end timeIntervalSinceNow];
    NSTimeInterval dateDiff = lastDiff - todaysDiff;

    double numOfDays = dateDiff/86400; //86400 seconds in a day

    return (int)(numOfDays + 0.5);

}

我这样称呼它:

int numOfDays = [self daysBetweenDate:lastResetDay andDate:[dict objectForKey:@"nsDate"]];

我传入的两个值都是 NSDate 的

上面是在通过 NSMutableArray 枚举时调用的。

运行此程序后,我收到以下错误:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[UITableView timeIntervalSinceNow]:无法识别的选择器已发送到实例 0x6818600”

【问题讨论】:

    标签: iphone objective-c cocoa-touch nsdate


    【解决方案1】:

    在某些时候,您将UITableView 存储在打算成为NSDate 的东西中。调试您的代码并检查数组中的值,并在此过程中查看您在哪里执行此操作。 ObjC 是弱类型的,很容易将错误的类型放入NSMutableArray,因为它接受并返回id

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-20
      • 2014-04-05
      • 2014-08-26
      • 1970-01-01
      相关资源
      最近更新 更多