【问题标题】:NSYearCalendarUnit deprecated in iOSNSYearCalendarUnit 在 iOS 中已弃用
【发布时间】:2014-12-28 14:36:12
【问题描述】:

我正在使用NSYearCalendarUnitNSMonthCalendarUnitNSDayCalendarUnit,但不幸的是,这些“日历单位”在IOS 8.0 中首先被报告为已弃用。 它们的替代方法是什么,或者我该如何避免这些警告。

unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit;

【问题讨论】:

  • 所以你的意思是不推荐使用?
  • 我不会在 Obj-C 中编码,但我确信如果某些内容已被弃用,您必须切换到该代码/模块/功能/任何内容的新版本
  • @JuanRocamonde 是的,亲爱的,我正在寻找更新的版本。

标签: ios warnings deprecated


【解决方案1】:

使用NSCalendarUnitYear:

NSCalendarUnit unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth |  NSCalendarUnitDay;

我从原始问题中的代码示例推断出您正在寻找 Objective-C 答案,但对于那些寻找 Swift 等价物的人,您会这样做:

let unitFlags: NSCalendarUnit = [.Year, .Month, .Day]

注意,在 Swift 3 中,等价于:

let unitFlags: Set<Calendar.Component> = [.year, .month, .day]

【讨论】:

    【解决方案2】:

    这是正确的:

    let flags: NSCalendarUnit = .CalendarUnitYear | .CalendarUnitMonth | .CalendarUnitDay
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-07
      • 2021-09-20
      • 2015-09-15
      • 2016-01-14
      相关资源
      最近更新 更多