私は素早いプロジェクトでレルムを使用します。ここでレルムを持つviewControllerとレルムとの間にモデル状態を保存する - それはリレーションを破ります
は私のオブジェクト、食事と反応している - 多くの1つのマッピングを持つ:
enum DishType: String{
case Breakfast
case Second_breakfast
case Brunch
case Elevenses
case Lunch
case Tea
case Dinner
case Supper
case Snack
}
class Meal : Object{
dynamic var date: NSDate = NSDate()
dynamic var dishType = DishType.Breakfast.rawValue
var dishTypeEnum: DishType{
get{
return DishType(rawValue: dishType)!
}
set{
dishType = newValue.rawValue
}
}
dynamic var foodItems: String = ""
var reactions = List<Reaction>()
}
enum Category: String{
case Apetit
case Energy
case Emotion
}
enum Type: String{
case Positive
case Negative
}
class Reaction: Object{
dynamic var category = Category.Apetit.rawValue
dynamic var text: String?
dynamic var selected: Bool = false
dynamic var type = Type.Positive.rawValue
.....
}
私は、他の1つのViewControllerから状態を保存する必要があります。 私はいくつかの反応を選択します。これは、反応画面に戻るときに選択しなければならないものです。
私はレルムに節約を考えていたが、私はまた、新しいデータセットを入力するときに、すべての反応状態をクリアする必要があります。 Reactionから削除すると、関係も破損しているようです。 Mealオブジェクトが保存されています(Reactionとの関係もあります)。
保存されている食事から、状態を示す反応と関係している反応を区別する方法はわかりません。
NSUserDefaultsの州の反応を保存すると思っていました。しかし、このように私は両方のフレームワークを組み合わせるでしょう。
あなたはどう思いますか?どのように状態を保存しますか?
私はあなたの優雅なソリューションが好きです。しかし、レルムにすべてのリアクションを追加する必要があります。そうすれば、私はビューコントロールの準備が整いますか? –
彼らはどこから来たのですか?私は、彼らが最初のアプリの起動からすでにそこにいるはずだと思う。レルムデータベースをセットアップしてすべての反応を作成し、そのデータベースをプロジェクトにコピーする別のターゲットを作成することができます。 .realmファイルをプロジェクトに追加し、最初の起動時にそのファイルをアプリケーションバンドルからユーザーデータディレクトリにコピーするようにしてください。 ( 'Realm.Configuration.defaultConfiguration.path') – marius
あなたの提案を試しています。ありがとうございました! –