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

use*_*063 4 xcode realm ios swift

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

import Foundation
class Dog {
    dynamic var name = ""
    dynamic var age = 0
}
Run Code Online (Sandbox Code Playgroud)

在我的主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)
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.谢谢!

小智 6

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

class Dog: Object {
    dynamic var name = ""
    dynamic var age = 0
}
Run Code Online (Sandbox Code Playgroud)


use*_*063 3

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