我想在覈心數據中建立一個模型,以便在特定時刻保存足球教練的行爲。 我所擁有的共有30種行爲分爲4類。爲足球教練的行爲設計一個核心數據模型
我想創建2個實體:
- 會議(名稱,dateCreation) - >這是比賽
- 行爲(nameB,類別,時間)
我認爲這種關係是一對多的關係(一個會話可以有多個行爲)。
Core Data是否正確?你能分享你的想法嗎? PS:對不起,我的英文不好!
謝謝你^ _^
我想在覈心數據中建立一個模型,以便在特定時刻保存足球教練的行爲。 我所擁有的共有30種行爲分爲4類。爲足球教練的行爲設計一個核心數據模型
我想創建2個實體:
我認爲這種關係是一對多的關係(一個會話可以有多個行爲)。
Core Data是否正確?你能分享你的想法嗎? PS:對不起,我的英文不好!
謝謝你^ _^
是的,你在正確的線上有兩個實體和一個關係。你的名字非常通用,如果你想把它用於其他事情,這可能會很好地支持未來。
確保關係在兩個方向上都有(反轉)。
當您在Xcode中生成託管對象子類時,它將爲您添加屬性和方法。當你添加新的行爲時,只需一次添加一個。然後,當你需要它們的時候,你可以從Session
得到NSSet
,或者你可以爲它們查詢數據存儲(如果有很多行爲,或者只希望具有特定名稱或已知的時間段)。
更好的是我在這裏回答比評論。
一旦你正確地設置了你的CoreData,一個方法將可用於addDataObject:
這可以在你的行爲數據的一個實例上使用,並且使用前面的方法將它存儲在NSSet中。
被警告,最後我檢查了一下,這個方法有問題,它不能正常工作,所以你必須重寫它。要做到這一點,在你Session.m
頭創建以下方法
- (void)addDataObject:(BehaviourData *)value
{
NSMutableOrderedSet* tempSet = [NSMutableOrderedSet orderedSetWithOrderedSet:self.data];
[tempSet addObject:value];
self.data = tempSet;
}
self.data
需要有一個NSOrderedSet
您將在Session.h
定義。
是的,你是正確的:一個會話可以有多個行爲。您只需在與會話相關的存儲之前將您的行爲設置爲NSSet。 – joeByDesign
感謝您的回答!因此,爲了讓我的行爲成爲NSSet,我必須將行爲obj的所有實例分組嗎?有沒有辦法做到這一點? – Luca93