在Swift 1.2中声明不能同时是“final”和“dynamic”错误

在Swift 1.2中声明不能同时是“final”和“dynamic”错误,第1张

概述价值声明如下 import Foundationclass AAA: NSObject { func test2() { self.dynamicType }}extension AAA { static let value = 111} 导致以下编译错误 A declaration cannot be both 'final' and 价值声明如下
import Foundationclass AAA: NSObject {    func test2() {        self.dynamicType    }}extension AAA {    static let value    =   111}

导致以下编译错误

A declaration cannot be both 'final' and 'dynamic'

为什么会发生这种情况,我该如何处理?

我使用的Swift 1.2(版本发货在Xcode 6.3.1 6D1002)

出现这个问题是因为Swift试图为Obj-C兼容性的静态属性生成动态访问器,因为类继承自NSObject。

如果你的项目只在Swift中,而不是使用var访问器,你可以通过Swift 2.0中的@nonobjc属性避免这个问题:

import Foundationclass AAA: NSObject {}extension AAA {    @nonobjc static let value = 111}
总结

以上是内存溢出为你收集整理的在Swift 1.2中声明不能同时是“final”和“dynamic”错误全部内容,希望文章能够帮你解决在Swift 1.2中声明不能同时是“final”和“dynamic”错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1062790.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存