いくつかの保存機能を備えた小さなアプリがあります。私はクローゼットと呼ばれるデータモデルクラスを持っています:
class Department: NSObject, NSCoding {
var deptName = ""
var managerName = ""
var Task: [Assignment]? // <----- assignment class is in example 2
func encodeWithCoder(aCoder: NSCoder) {
aCoder.encodeObject(deptName, forKey: "deptName")
aCoder.encodeObject(managerName, forKey: "mngName")
// aCoder.encodeObject(Task, forKey: "taskArray")
}
required init(coder aDecoder: NSCoder) {
super.init()
course = aDecoder.decodeObjectForKey("deptName") as! String
instructor = aDecoder.decodeObjectForKey("mngName") as! String
// Task = aDecoder.decodeObjectForKey("tasKArray") as? [Assignment]
}
override init() {
super.init()
}
}
これがメインのコントローラ データ モデルです。最初のビュー コントローラで、ユーザーは「+」ボタンをタップして部門名とマネージャ名を追加できます。NSKeyedArchive を使用して正常に保存し、アプリの起動時に再度ロードするため、問題はこれを保存することではありません。
問題:
このデータ モデルDepartmentに割り当ての配列を追加したいと考えています。この割り当てには、タイトルとメモの変数があります。これは割り当てのデータ モデルです。
Assignment.swift
class Assignment: NSObject, NSCoding {
var title = ""
var notes = ""
func encodeWithCoder(aCoder: NSCoder) {
// Methods
aCoder.encodeObject(title, forKey: "Title")
aCoder.encodeObject(notes, forKey: "notepad")
}
required init(coder aDecoder: NSCoder) {
// Methods
title = aDecoder.decodeObjectForKey("Title") as! String
notes = aDecoder.decodeObjectForKey("notepad") as! String
super.init()
}
override init() {
super.init()
}
}
したがって、私が本質的に達成しようとしているのは、ユーザーがさまざまなマネージャー名でさまざまな部門に入るアプリであり、現在は私のアプリで機能していますが、部門内では、ユーザーは「+」ボタンをクリックして割り当てのタイトルとメモセクションを追加できますクリックすると編集可能になり、後で処理できます。これらの割り当ては、部門ごとに異なります。
私の大きな問題は、この機能を実現することです。私はこれを機能させることができないようです。
この配列割り当てプロパティを部門クラスの一部にして、各セルに独自の種類の To-Do リストを持たせたいと考えています。どんな助けも間違いなく私を大いに助けてくれるでしょう。ありがとう :)