[英]How to use NSManaged object class using NSObject class
我有NSObject
類名稱TrackInfo,其中包含軌道信息,例如名稱,藝術家名稱,縮略圖圖像等。
我使用此類來下載數據,並在解析數據后將信息保存到該類。 現在,我還有另一個選項卡,我必須顯示一些數據。 這是類似trackInfo的數據。 但是當應用程序處於離線狀態時,我必須制作NSManagedObject
。 與trackinfo
相同。
我可以使用NSObject
類代替NSManagedObject
或Vice-Versa嗎?
我基本上想做的是,我必須顯示來自Trackinfo( NSObject
類)或NSManagedObjectClass
一個類的跟蹤信息,該類用於在應用程序離線時保存數據。
簡短的回答是,可以。 怎么樣? 您可以找到有用的討論“ 組織iOS的核心數據” 。
詳細的答案可以在文檔中找到。
NSManagedObject
是一個通用類,可實現Core Data模型對象所需的所有基本行為。 不能將NSObject
的直接子類(或任何其他不繼承自NSManagedObject
)的實例與托管對象上下文一起使用。 您可以創建NSManagedObject
自定義子NSManagedObject
,盡管並非總是需NSManagedObject
。 如果不需要自定義邏輯,則可以使用NSManagedObject
實例形成完整的對象圖。托管對象與實體描述(
NSEntityDescription
的實例)相關聯,該實體描述提供有關對象的元數據(包括該對象表示的實體的名稱以及其屬性和關系的名稱),並與跟蹤更改的托管對象上下文相關聯到對象圖。 正確配置托管對象以與Core Data一起使用非常重要。 如果直接實例化托管對象,則必須調用指定的初始化程序(initWithEntity:insertIntoManagedObjectContext:
。
關於您的問題,取決於您需要實現的目標。 如果您的目標是在設備和服務器之間執行同步機制,則應設置1)具有TrackInfo
實體的模型2)依賴於諸如SQLite之類的持久性存儲的Core Data堆棧。 然后,您應該修改TrackInfo
以考慮對該實體的修改。 例如, dirty
標志屬性( 0
或1
)或timestamp
。 對TrackInfo
進行修改時,將更新該屬性。 恢復連接后,您需要查詢該屬性並與服務器同步。 如果選擇timestamp
,則服務器應說出要查詢的最新時間戳。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.