Swift无法将类型的值转换为Realm中的预期参数

时间:2015-10-14 02:31:35

标签: ios xcode swift realm

我正试图围绕Swift中的Realm API,这看起来非常有前途。我正在他们的文档中尝试一些演示代码,我不断收到同样的错误。 我有一个带有以下内容的Dog.swift文件:

import Foundation
class Dog {
    dynamic var name = ""
    dynamic var age = 0
}

在我的主ViewController.swift中,我有以下内容来创建Dog的实例并尝试保存它。问题是realm.add行没有编译,因为它“无法将类型'Dog'的值转换为预期的参数类型'Object'”

import UIKit
import RealmSwift

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    let myDog = Dog()
    myDog.name = "Rex"
    myDog.age = 10

    // Get the default Realm
    let realm = try! Realm()
    // You only need to do this once (per thread)

    // Add to the Realm inside a transaction
    realm.write {
        realm.add(myDog)
    }
  }
}

非常感谢任何帮助。谢谢!

2 个答案:

答案 0 :(得分:6)

您应该在 Dog.swift 文件中添加导入RealmSwift ,然后将其更改为:

class Dog: Object {
    dynamic var name = ""
    dynamic var age = 0
}

答案 1 :(得分:2)

在Dog类中导入RealmSwift框架而不是Realm框架。