代码之家  ›  专栏  ›  技术社区  ›  rattletrap99

创建领域对象类时出错

  •  -1
  • rattletrap99  · 技术社区  · 7 年前

    我正在尝试用swift编写一个简单的应用程序,并有realm支持。当我写作的时候 var 在课堂上,我总是会遇到一些错误,比如 Property cannot be implicitly @objc because its type cannot be represented in Objective-C “。有时这些错误(似乎涉及Objto-C,我不使用)出现,有时他们不看到下面的截图。

    我是公认的斯威夫特新手,但我想我已经足够理解了,可以开始了。明确地:

    1)我应该加上“ @objc “在类声明之前?

    2)我应该加上“ @目标 “在动态VAR声明之前?

    3)看起来 Float 必须初始化变量,但对于 String 是吗?

    4)编译器为什么抱怨一行的声明,而不是下一行中的相同语法?

    一定会感谢一些指导,或者指向创建领域对象类的特定指令的指针!

    enter image description here

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  1
  •   Caravan    7 年前

    我想错误来自于打电话 @objc 而不是 @objcMembers . 尝试改变

    @objc class Transaction: Object
    

    @objcMembers class Transaction: Object
    

    全部删除 @目标 在你的动态变量面前。所以你的最终代码应该是:

    import Foundation
    import RealmSwift
    
    @objcMembers class Transaction: Object {
        dynamic var picPath: String?
        dynamic var transAmount: Float = 0.0
    }
    
    @objcMembers class Transaction: Object {
        dynamic var currentBalance: Float = 0.0
        dynamic var highWaterBalance: Float = 0.0
        dynamic var acctName: String?
    }
    

    我们的伙伴 Paul Hudson has described this attribute on his site hackingwithswift .

    推荐文章