'title'的类型与协议'UIPreviewActionItem'所需的选项不同

时间:2015-12-30 16:45:05

标签: ios swift 3dtouch

所以我试图在swift中为这样的视图控制器创建几个预览动作项:

@available(iOS 9.0, *)

override internal func previewActionItems() -> [UIPreviewActionItem] {

    let cancelAction = UIPreviewAction(title: "Cancel Appointment", style: .Destructive) { (action, previewViewController) -> Void in
        print("Cancel Appointment")
    }

    return [cancelAction]
}

这给了我这个编译错误消息:

Type of 'title' has different optionality than required by protocol 'UIPreviewActionItem'. 

我理解错误信息,但我该如何更改'title'的选项?

Objective-C中的相同代码完美无缺。

1 个答案:

答案 0 :(得分:2)

事实证明,阅读文档非常重要:

IMPORTANT

不要在自定义类中采用此协议。

我的自定义视图控制器采用了协议:

extension CustomViewController: UIPreviewActionItem {

}

应改为

extension CustomViewController {

}