我正在製作一個應用程序,爲我的學校的人創建課程時間表。這是我想到的應用程序的粗略設計:是NSDocument和CoreData的一個可能的組合,還是NSPersistentDocument的唯一方法?
我想我的NSDocument子類來表示個人的時間表。這個想法是,他們打開一個文檔,並可以從一個池中添加課程到他們的時間表,然後保存,共享,打開等。所以時間表將存儲在用戶選擇的外部文件中。
我想使用CoreData來存儲學生可以選擇的所有課程。這些不會隨着時間表的創建和編輯而改變,而是可能僅在應用程序啓動時才檢查課程信息的更新。
這似乎是構建我的應用程序的邏輯方式。問題是,當我創建一個基於NSDocument的應用程序並檢查use CoreData
框時,它使它成爲一個基於NSPersistentDocument的應用程序,而不是使用CoreData功能的基於NSDocument的應用程序。
我不認爲這是我想要的行爲。有沒有辦法使用CoreData,但仍然有基於NSDocument的應用程序?或者是NSPersistentDocument我應該使用什麼呢?我誤解了整個NS *文檔業務嗎?你對我的應用程序結構有什麼建議嗎?
感謝您的幫助!
你說你想使用核心數據存儲所有的課程,學生可以選擇。你是否也會使用Core Data將個人學生的時間表存儲在NSDocument類中?我認爲這是決定是否使用NSPersistentDocument的第二個問題。 – paulmelnikow
@noa:不,我計劃將學生的時間表存儲在由用戶選擇的外部文件中。 –
使用像plist或鍵盤存檔的東西,我猜你的意思是?您可以讓用戶選擇一個單獨的文件,並仍然使用核心數據。這就是NSPersistentDocument可以幫助你做的事情。 – paulmelnikow