【问题标题】:Cannot call value of non-function type 'ThreadConfined.Type' - Swift 4.0无法调用非函数类型“ThreadConfined.Type”的值 - Swift 4.0
【发布时间】:2017-06-09 02:09:12
【问题描述】:

我将我正在处理的项目升级到 Swift 4.0。这样做之后,我意识到这不是最好的主意。我已经修复了所有错误,但有一个并无法弄清楚。我已经在我的项目中安装了 RealmSwift,并且在其中一个 Realm 文件中出现以下错误。

错误:无法调用非函数类型'ThreadConfined.Type'的值

 public init(to threadConfined: Confined) {
    let bridged = (threadConfined as! AssistedObjectiveCBridgeable).bridged
    swiftMetadata = bridged.metadata
    type = type(of: threadConfined).  ****ERROR CALLED ON THIS LINE****
    objectiveCReference = RLMThreadSafeReference(threadConfined: bridged.objectiveCValue as! RLMThreadConfined)
}

关于升级的教训太早了。我希望有人能帮我一把,这样我就可以重新开始发展了。有什么想法吗?

【问题讨论】:

    标签: swift realm swift4


    【解决方案1】:

    Realm 的 master 分支现在支持 Swift 4 和 Xcode 9 的 beta 1 (#5006)。从源代码使用 Realm Swift 构建应该可以让您启动并运行。

    【讨论】:

    【解决方案2】:

    我注意到,即使我是从源代码构建(使用 CocoaPods),这个问题也发生在我身上。

    要解决它,需要删除两行(如@jonthornham 评论中的文件所示):

    private let type: ThreadConfined.Type
    

    和:

    type = type(of:threadConfined)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多