【问题标题】:NSCalendar CurrentCalendar issuesNSCalendar CurrentCalendar 问题
【发布时间】:2012-11-21 14:04:04
【问题描述】:

我的应用程序进行了大量的日历计算,因此我需要为大多数这些功能设置一个 NSCalendar。现在调用[ NSCalendar currentCalendar ] 似乎非常慢,因为其他人也评论过,所以我想我可以简单地缓存 NSCalendar 的副本。然而,这个 NSCalendar 似乎不时会产生垃圾,如果我在需要时创建一个新的 NSCalendar,我就不会得到这些垃圾。我假设它要么被释放,要么以某种方式损坏,这令人惊讶,因为我正在使用“自动引用计数”

任何建议。

PS 这可能是因为 NSCalendar 不是线程安全的吗?

PSS

我最终从主线程设置了我的 CurrentCalendar。这似乎解决了这个问题。如果有人对此有任何 cmet,请告诉我。

R

【问题讨论】:

  • 请提供“产生垃圾”的例子
  • 它的垃圾就是错误的数据,很难举个例子。

标签: iphone nsdate nscalendar


【解决方案1】:

作为调查步骤,我建议您记录对象的类以查看它是否以某种方式更改为另一个对象。例如,如果您有以下代码:

NSCalendar *cal = [NSCalendar currentCalendar];

然后稍后(尤其是如果您可以判断数据何时损坏),您会这样做:

NSLog(@"Calendar class: %@", [cal class]);

一切顺利后,您应该取回 __NSCFCalendar。

【讨论】:

    猜你喜欢
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多