我是Core Data的新手。我有一個自定義實體,可以擴展NSManagedObject
。在這個類中是與核心數據實體屬性相對應的屬性列表。無法訪問NSManagedObject子類中的本地屬性
我已經在.h文件中聲明瞭屬性。我還填寫了該類的.m文件中的各個@dynamic聲明。 (當我從實體創建類時,所有這些都是由xCode
自動生成的)
但是,在.m文件中,我添加了一些使用這些屬性的自定義方法。我通過_propertyName訪問它們。不過,我得到一個錯誤說
"Use of undeclared identifier '_propertyName' "
即使財產已經聲明,並且該屬性的@dynamic宣言還存在。
此錯誤消失,當我將類更改爲擴展NSObject
而不是NSManagedObject
,並將@dynamic語句替換爲常規@synthesize語句。
我的問題是:
通常,我將能夠使用_propertyName從類中訪問屬性。當我使用核心數據時,似乎並不是這樣。爲什麼會發生這種情況,我將如何解決它?
如果需要,將提供更多細節。
你嘗試像self.propertyName。我希望你知道_propertyName和self.propertyName之間的區別 –
self.propertyName工作正常。 從我的理解,self.propertyName訪問getter方法,而_propertyName直接訪問本地屬性。我也是新來的Objective-C,所以請隨時糾正我,如果我錯了。 – sosale151