2015-07-21 62 views
0

當前我正在構建一個統計應用程序,並且當前我有我的核心數據模型設置,每次玩家記錄統計數據時,有1個對象nsnumber記錄爲獲勝,1個對象記錄損失。這些對象只是數字1.然而,在重新評估我的模型後,我意識到我可以爲9個選項中的每一個選擇一個屬性,記錄一個真或假的布爾值,然後總結一下我已經發布了一份我的當前的數據模型,然後再進行更改。總結核心數據中的布爾值vs nsnumbers

我想看看我是否正確。另外,如果我真的這樣下去,我將如何總結真正的對象與虛假對象的總和來做一個乘法來獲得統計數據,我將如何去做這些與布爾對象?代碼是什麼樣的?我仍在學習編程語言,並決定開始使用核心數據這樣的項目.... !! final simplified core data model second attempt at simplifying the model initial model which is hideous by design

回答

2

您的模型存在嚴重缺陷。您實際上將數據硬編碼到模型中。這在很多層面上都存在問題。

例如:聖騎士,牧師和流氓應該反映爲數據,而不是實體的屬性名稱。你應該將這些東西抽象到具有name屬性的實體中。

更重要的是,您使用複數作爲實體名稱。這也可能是誤導性的,因爲實體描述的是數據類別,而不是表格。包含動詞的實體名稱,比如「StoreUsersDeck」更加古怪。這是一副牌,爲什麼不是「甲板」?可以爲您的屬性和關係名稱進行類似的說法。

我不明白你的模型,但在這裏是爲了說明一種簡化的例子,你應該尋找:

Deck 
    -name 
    -(categories) <<-------------------------->> Category 
               -name 
    -(cards)  <--------------------------->> Card 
               -(category) 

最後,你的布爾/數點:簡化數據模型應該在這裏也有幫助。我假設對於每個類別你只能得到一個結果,一個勝利數或一個損失數。

Result 
    -isWin [boolean] 
    -count [number] 
    -(category) <<--------------> Category 

Result或與winCountloseCount,如果這是必需的。

+0

我有包含類的類實體作爲布爾值保存確定原型的真/假語句。就我認爲的其他事情而言,我只是有一天衝上去製作數據模型,並且在接下來的24小時內將清理它。所以對於結果,我應該有2個單獨的包含真/假贏輸記錄,然後是另一個實體與他們面對的類? – Matthew

+0

結果可以是來自Deck的多對多。我的想法是'isWin'抓住了勝利和失敗。但是,如果兩者都有可能,你可以改爲'winCount'和'loseCount'。 – Mundi

+0

我希望能夠跟蹤tableview中的勝利和失敗,這些勝利和失敗的後綴可以準確地分解出哪一場比賽遇到了最終結果,所以我想我都需要這兩者......我沒有想到將這些課程分開進入自己的實體,我絕對會看到如何更清潔....我現在正在努力。 – Matthew