【问题标题】:Xcode7, iOS9 use of unresolved identifier 'EKSpanThisEvent'Xcode7、iOS9 使用未解析的标识符 'EKSpanThisEvent'
【发布时间】:2015-08-08 14:19:20
【问题描述】:

这段代码有问题

import UIKit
import EventKit

let eventStore = EKEventStore()
    eventStore.requestAccessToEntityType(EKEntityType.Event, completion: { (success, accessError) -> Void in
        if accessError != nil {
            print("Calendar Access Error: \(accessError)")
            return
        }
        let event = EKEvent(eventStore: eventStore)

        event.title = self.detailItem!.title
        event.allDay = true
        event.startDate = self.detailItem!.date
        event.endDate = self.detailItem!.date
        event.calendar = eventStore.defaultCalendarForNewEvents
        var saveToCalendarError: NSError?
        let success: Bool
        do {
            //Swift2: use of unresolved identifier 'EKSpanThisEvent'
            try eventStore.saveEvent(event, span: EKSpanThisEvent)
            success = true
        } catch var error as NSError {
            saveToCalendarError = error
            success = false
        } catch {
            fatalError()
        }

编译器不编译,报错“use of unresolved identifier 'EKSpanThisEvent'”

希望有人能帮忙!

【问题讨论】:

    标签: swift2 xcode7 ios9 xcode7-beta5


    【解决方案1】:

    在 Swift 2 / Xcode 7 中,为了保持一致性,很多枚举都进行了更改

    try eventStore.saveEvent(event, span: .ThisEvent)
    

    【讨论】:

      【解决方案2】:

      如果你处理saveEvent抛出的错误会更好:

      do {
          try store.saveEvent(event, span: .ThisEvent)
      } catch let specError as NSError {
          print("A specific error occurred: \(specError)")
      } catch {
          print("An error occurred")
      }
      

      更多关于 Swift 中的错误处理:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/ErrorHandling.html

      【讨论】:

        【解决方案3】:

        对于 Swift 3

        do {
           try self.eventStore.save(event, span: .thisEvent)
        } catch let specError as NSError {
           print("A specific error occurred: \(specError)")
        } catch {
           print("An error occurred")
        }
        

        【讨论】:

          猜你喜欢
          • 2018-03-12
          • 1970-01-01
          • 1970-01-01
          • 2016-02-25
          • 2016-07-17
          • 2016-04-29
          • 2017-02-27
          相关资源
          最近更新 更多