Swift 3 UIActivity Subclass覆盖问题
发布时间:2020-12-14 18:04:35 所属栏目:百科 来源:网络整理
导读:我刚刚从 swift 2升级到 swift 3,我遇到了覆盖属性的一些问题. 在swift 2中,您可以像这样设置活动类型 override func activityType() - String? { return "com.a.string"} 但是在swift 3中(在Xcode 8 beta 6中),他们引入了NS_STRING_ENUM,现在我们覆盖了这样
我刚刚从
swift 2升级到
swift 3,我遇到了覆盖属性的一些问题.
在swift 2中,您可以像这样设置活动类型 override func activityType() -> String? { return "com.a.string" } 但是在swift 3中(在Xcode 8 beta 6中),他们引入了NS_STRING_ENUM,现在我们覆盖了这样的activityType override var activityType() -> UIActivityType? { return UIActivityType.customActivityType } 问题是Xcode会抱怨这个: 我找到的一个解决方案是将注释@nonobjc添加到它中,如下所示: @nonobjc override var activityType() -> UIActivityType? { return UIActivityType.customActivityType } 虽然这有助于使错误消失,但这个属性永远不会被调用…… 我找到的一个工作是使用objective-c扩展.有用;它给了我喜欢的“马”类型. @interface Custom_UIActivity (custom) - (UIActivityType)activityType; @end @implementation Custom_UIActivity (custom) - (UIActivityType)activityType { return @"horses"; } 我的问题是如何以纯粹的速度做到这一点. 解决方法
在纯Swift3中,我可以使用它编译它
override var activityType: UIActivityType { return UIActivityType(rawValue: self.customActivityType.rawValue) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |