2011-07-22 65 views
0

我有一個名爲Hospitals的核心數據實體。有三個字段:名稱(字符串),緯度(雙)和經度(雙)。 我有一個名爲Hospitals.h/.m的NSManagedObject類,可以讓我抓取數據。對NSManagedObject進行子分類

我也確定了我當前的CLLocation。

現在,當我載入我所有的醫院記錄時,我想通過它們來計算我目前與醫院的距離。沒問題。

啊,但現在我需要在某處存儲CLLocationDistance。起初,我創建了一個帶有iVars的新類來保存1)HospitalManagedObject和2)CLLocationDistance。但那變得非常尷尬。

所以,我想我只是擴展醫院管理的對象類,以包含變量「myDistance」。但是我所嘗試的一切都會導致子分類管理對象停止與核心數據進行通信。

這樣做的最好方法是什麼?

任何見解都非常感謝。

+0

我忘了提及,我將通過「myDistance」var來排序(最終)醫院陣列。 – mputnamtennessee

回答

1

您可以在醫院對象的對象模型中添加一個新字段,名稱與myDistance類似,並在數據模型中將其設置爲Undefined。這將告訴Core Data你有一個你將在運行時使用的屬性,但它不會被存儲在數據庫中。

在你Hospital.h定義使用任何你想要的類型(我假設的距離是一個NSNumber)這樣

@property (nonatomic, retain) NSNumber *myDistance; 

,並在您的實現,你可以把它放在一個@dynamic myDistance;語句中,屬性只是像所有其他數據字段一樣。

+0

謝謝。我每天都在學習新的東西。在我回答你的答案之前,我嘗試在數據模型中添加一個「瞬態」myDistance字段。一切似乎工作正常,除了我不能得到結果NSMutableArray(獲取核心數據myDistances分配)進行排序。我會嘗試字段類型'undefined'。 – mputnamtennessee