【发布时间】:2016-02-09 21:36:29
【问题描述】:
我有一个关于核心数据的问题。我的实体如下所示:
- 游戏(游戏ID、游戏名称、玩家、时间戳)
- 用户(用户 ID、电子邮件、状态...)
- 消息(GameID、MessageText、SendersID)
在桌面游戏中,我想存储所有参与此游戏的玩家。问题是它们可以是 2 个或更多,所以我必须存储一个数组……我想到了两种解决方案……
我的第一个解决方案是将字符串存储到如下所示的成员中:
3,4,5,6,11
然后拆分成一个数组
let members = fetchedData.Players.characters.split{$0 == ","}.map(String.init)
第二个:(我认为这是“更干净”的版本)
我会让我的实体看起来像这样:
游戏(游戏 ID、游戏名称、时间戳)
并添加另一个实体:
玩家(游戏ID、用户ID)
你怎么看?如果我创建另一个实体,我有什么优势? (我认为我会有更好的表现,但我也认为我需要很多数据)
【问题讨论】:
-
我认为第二种方法更简洁,它使模型对象使用 id 指向其他对象,而不仅仅是将对象存储在对象中。另外我今天早上发现了realm.io,我认为它对你也有用。
-
您实际上应该在
Game和User之间创建一个关系。 Core Data 将处理很多魔法。这里有教程code.tutsplus.com/tutorials/…和官方文档developer.apple.com/library/ios/documentation/Cocoa/Conceptual/… -
感谢您的回答! :) 我认为新实体是更好的选择。 @Mayerz 我在另一个项目中使用了领域,没关系,但我想尝试核心数据,因为我认为了解核心数据的工作方式很好,但谢谢! :)
-
@Godlike 好的!祝你好运
标签: ios arrays swift core-data