我對Core Data是否爲setPrimitiveAttributeName :,與setPrimitiveValue:forKey:形式的NSManagedObject子類生成原始訪問器有點困惑,它似乎一致地執行。核心數據原始訪問器
我的困惑之源是我使用建模工具(XCode 4)爲我的兩個實體生成NSManagedSubclasses,據我所知,它們共享相同的元數據設置,但是一個子類可以識別setPrimitiveAttributeName形式,而另一個不(它給了我一個「未找到方法」的編譯器警告)。
那麼,期待是什麼?如果我打開一個新項目,創建一個具有一個屬性的實體,並使用建模工具生成必要的NSManagedObject子類代碼,我希望它能自動生成更高效的原始訪問器形式嗎?
下面是鏈接文檔中最相關的一點:「核心數據爲您自動生成訪問器方法(和原始訪問器方法)....但是您確實需要聲明訪問器方法或使用Objective-C屬性來抑制編譯器警告「。 – 2014-02-16 13:28:48
作爲一個側面說明,而不是創建自己的類別,我在這種情況下所做的是使用http://rentzsch.github.io/mogenerator/。 mogenerator根據模型自動生成一個基類。然後你在一個子類中擴展它。生成的基類比庫存Xcode類更全面。只有一個例子是頭文件自動包含所有基本訪問器的聲明(如本問題所討論的)。但這也意味着,只要更改模型而不影響自定義代碼,就可以重新生成這些基類。 – 2014-02-16 13:33:54
是的,這是一個很棒的工具,我的解決方案適用於那些不需要幫助工具而需要這種行爲的人。感謝您鏈接此! – logancautrell 2014-03-12 17:13:24