Xcode 8 beta 6 UIActivityItemProvider 错误与@objc 兼容性

Posted

技术标签:

【中文标题】Xcode 8 beta 6 UIActivityItemProvider 错误与@objc 兼容性【英文标题】:Xcode 8 beta 6 UIActivityItemProvider error with @objc compatibility 【发布时间】:2016-08-23 14:20:01 【问题描述】:

尝试在 Xcode 8 beta 6 中实现 UIActivityItemProvider。在将此方法从 String 参数更改为 UIActivityType 后,现在出现此错误:

方法不能是 @objc 覆盖,因为参数 2 的类型不能在 Objective-C 中表示。

这是一个错误吗?有解决办法吗?

这是我们的代码

class NotificationUIActivityItemProvider : UIActivityItemProvider 

let subject : String
let text : String

init(subject: String, text: String) 

    self.subject = subject
    self.text = text
    super.init(placeholderItem: subject)


override public var item: Any  return text 

override func activityViewController(_ activityViewController: UIActivityViewController, subjectForActivityType activityType: UIActivityType?) -> String 
    if activityType == .mail 
        return subject
     else 
        return ""
    

【问题讨论】:

在我们解决了更多 Xcode 8 beta 6 错误后,现在可以正常工作了。 【参考方案1】:

在我们解决了更多 Xcode 8 beta 6 错误后,现在可以正常工作了。

【讨论】:

以上是关于Xcode 8 beta 6 UIActivityItemProvider 错误与@objc 兼容性的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 8 Beta 6 文本断断续续且失真

Swift 3(Xcode 8 beta 6)localizedStringWithFormat

Xcode 8 beta 6 swift 3 本地化CaseInsensitiveCompare

XCode 8 Beta 6 中引入的 UISlider 错误的解决方法?

swift 3(xCode8-beta6)上的可达性问题

Xcode 8 beta 6 UIActivityItemProvider 错误与@objc 兼容性