领域:请展示如何正确创建对象

时间:2015-10-09 15:45:04

标签: ios swift swift2 realm

我有两个类的RealmData.swift:

import UIKit
import RealmSwift

class Task : Object {
    dynamic var taskName = ""
    dynamic var taskStatus = ""
}

class TaskList : Object {
    dynamic var listName = ""
    let tasks = List<Task>()
}

现在我尝试为Realm实现演示填充以便稍后在我的UITableViewController中显示:

import UIKit
import RealmSwift

class ListsTableViewController: UITableViewController, ListCellDelegate, UITextFieldDelegate {
// (...)
override func viewDidLoad() {
    // (...)
    let list_0 = TaskList(value: ["Things for vaction", [["Cash & Cards", false], ["Clothes", false], ["Passport", false] ] ])
    let realm = try! Realm()
    realm.write {
        realm.add(list_0)
    }
}
}

这段代码应该按照设计创建一个名为&#34; List for vacation&#34;有3个任务,名字是&#34; Cash&amp;卡片&#34;,&#34;衣服&#34;和#34; Passport&#34;和false taskStatus&#39; es。 当我添加&#34;让list_0 =(...)&#34;行和运行,应用程序崩溃开始于&#34;线程1:信号SIGABRT&#34;例外。我是拼写错误还是首先需要创建Task对象?但https://realm.io/docs/swift/latest/有相同的例子:

let aPerson = Person(value: ["Jane", 30, [["Buster", 5], ["Buddy", 6]]])

请解释一下,这有什么问题? 我对当前限制(https://realm.io/docs/swift/latest/#current-limitations

没问题

提前致谢!

1 个答案:

答案 0 :(得分:1)

它与财产的类型不匹配。

old-key的数组对象作为background-image:[ ]?url\(['"]?(.*?\.(?:png|jpg|jpeg|gif)) 传递。该数组包含Task["Cash & Cards", false]值。否则,String的模型定义只有Bool个属性。因此后一个值不匹配,传递Task值,但模型需要String值。

所以解决方案是:让您的模型包含booleanString属性。如下所示

String