2015-04-22 142 views
2

是否有一個命名核心數據實體的約定? argument我聽說沒有爲Core Data實體添加前綴是因爲它們沒有機會碰撞,因爲它們只需要在模型中是唯一的,這不是真的,因爲生成的NSManagedObject子類可能仍然會與現有的Objective-C類相沖突。核心數據實體命名約定

因此,對Core Data Entity做兩件事似乎是合乎邏輯的:前綴與我的項目類前綴,後綴爲Entity。這樣,我知道它是一個核心數據實體,它的名字永遠不會與任何其他類相沖突。

+1

類名和實體名稱不必相同。 –

+0

的確如此,但這很混亂。 –

回答

1

我實際上已經看到前綴與項目類前綴和沒有。我從來沒有見過一個後綴被添加。我更喜歡沒有項目前綴,因爲如果你有一個你正在同步的遠程數據庫,我會使用相同的實體名稱。然後,如果您發佈了公共API,您是否真的希望您的項目在各地都有前綴?例如,Stripe的實體是Customer,Card等。他們在我喜歡的唯一標識符中使用前綴。另外,如果您爲其他課程使用項目前綴,則不會像覆蓋OP中提到的那樣覆蓋覆蓋風險。

+0

遠程數據庫的優點,儘管對於遠程數據庫來說即使名稱可能相同,通常實體屬性仍然與數據庫字段不匹配。例如,Core Data中的屬性使用camelCase,而遠程數據庫可能使用camel_case。 – Boon

+0

這讓我瘋狂:) –