Ios 如何将每种食物添加到域中自己的食物类别中?

Ios 如何将每种食物添加到域中自己的食物类别中?,ios,swift,realm,Ios,Swift,Realm,我有这样的嵌套类: struct Category { let name : String let foods : [Food] } struct Food { let name : String let price : Double } let categories = [ Category(name: "Breakfast", foods : [ Food(name: "Hafta İçi Kahvaltısı", price: 1

我有这样的嵌套类:

struct Category {
    let name : String
    let foods : [Food]
}

struct Food {
    let name : String
    let price : Double
}

let categories = [
    Category(name: "Breakfast", foods : [
        Food(name: "Hafta İçi Kahvaltısı", price: 18.0),
        Food(name: "Pazar Kahvaltısı", price: 25.0),
        Food(name: "Diyet Kahvaltı", price: 22.0),
        Food(name: "Köy Kahvaltısı", price: 15.0),
        Food(name: "Ege Kahvaltısı", price: 30.0)]),
    Category(name: "Hamburger", foods : [
        Food(name: "Big TezBurger", price: 26.0),
        Food(name: "TezRoyal", price: 24.0),
        Food(name: "Double TezzBurger", price: 17.0),
        Food(name: "TezChicken", price: 21.0),
        Food(name: "Köfteburger", price: 28.0)])
]
我想要
领域
数据库中的上述结构

首先,我用以下代码在领域中创建了
Category
表(类):

let realm = try! Realm()
var categoryDB = Category()
categoryDB.name = "Breakfasts"
try! realm.write {
     realm.add(categoryDB)
  }
在我创建了
Category
表之后,我添加了以下代码来填充每个类别的
Food

categoryDB.name = "Breakfasts"
categoryDB.foods[0].name = "Hafta İçi Kahvaltısı"
categoryDB.foods[0].price = 18.0

categoryDB.name = "Breakfasts"
categoryDB.foods[1].name = "Köy Kahvaltısı"
categoryDB.foods[1].price = 20.0
但由于未捕获的异常“RLMException”,我遇到了一个类似于
终止应用程序的错误,原因是:“索引0超出范围(必须小于0)。”

结论:我需要在
早餐
类别中吃5种不同的早餐,在
午餐
类别中吃5种不同的食物。我的
类别
表下没有作为
食品
属性的
食品
列表数据

链接中的My detail realm studio屏幕


当您创建
categoryDB
时,其
食品
为空。这就是为什么会出现索引越界异常的原因

您想创建
食品
并将其附加到
categoryDB.foods

let categoryDB=categoryDB()
categoryDB.name=“早餐”
让food1=食物()
food1.name=“Haftaİçi Kahvaltısı”
food1.price=18.0
让food2=食物()
food2.name=“Köy Kahvaltısı”
food2.price=20.0
categoryDB.foods.append(objectsIn:[food1,food2])
尝试realm.write{
realm.add(categoryDB)
}

当您创建
categoryDB
时,其
食品
为空。这就是为什么会出现索引越界异常的原因

您想创建
食品
并将其附加到
categoryDB.foods

let categoryDB=categoryDB()
categoryDB.name=“早餐”
让food1=食物()
food1.name=“Haftaİçi Kahvaltısı”
food1.price=18.0
让food2=食物()
food2.name=“Köy Kahvaltısı”
food2.price=20.0
categoryDB.foods.append(objectsIn:[food1,food2])
尝试realm.write{
realm.add(categoryDB)
}

我在文档中看到了“append”功能,但它与过滤器功能一起使用,我感到困惑。我并不认为这很简单:)我在文档中看到了“append”功能,但它与过滤器功能一起使用,我感到困惑。我不认为简单:)