Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 领域:请说明如何正确创建对象_Ios_Swift_Swift2_Realm - Fatal编程技术网

Ios 领域:请说明如何正确创建对象

Ios 领域:请说明如何正确创建对象,ios,swift,swift2,realm,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>() } 此代码应按设计创建一个名为“

我有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>()
}
此代码应按设计创建一个名为“度假物品”的列表,其中包含3个名为“现金和卡”、“衣服”和“护照”的任务,以及假任务状态。 当我添加“let list_0=(…)”行并运行时,应用程序在开始时崩溃,出现“Thread 1:SIGABRT”异常。我是拼错了什么东西,还是需要先创建任务对象?但有同样的例子:

let aPerson = Person(value: ["Jane", 30, [["Buster", 5], ["Buddy", 6]]])
请解释一下,这是怎么回事? 我同意目前的限制()


提前谢谢

它与属性的类型不匹配

您将
任务的数组对象作为
[“现金和卡”,false]
传递。数组包含
String
Bool
值。否则,
Task
的模型定义只有
String
属性。因此后一个值不匹配,传递
布尔值
但模型需要
字符串

因此,解决方案是:使您的模型包含
String
Bool
属性。如下

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

谢谢你,现在我明白了,我的问题真的很愚蠢:但它仍然在
let realm=try上失败!Realm()。请确定发生了什么错误?将代码重写为
do{let realm=try realm()}catch let error{print(error)}
以查看错误。
do{let realm=try realm();realm.write{realm.add(list_0)}catch let error{print(error)}
运行时完全没有错误。是的,真的很奇怪。仔细检查:
let realm=try!Realm()
失败,建议的do{}catch{}运行平稳。真奇怪。数据是否实际写入磁盘?如果您的代码更改为
let realm=try?Realm()
打印(Realm)
,它在控制台中显示什么?
class Task : Object {
    dynamic var taskName = ""
    dynamic var taskStatus = false
}