我在 developer.apple.com 上阅读了一些关于 Core Data 的文章和信息。现在我想为我的应用创建 ManagedObjectModel。所以我需要帮助——因为这是我对数据库的第一个计划。所以我的应用程序将有下一个选项
- 用户必须使用其登录名和密码登录。因此,如果他忘记密码,则有机会通过在秘密问题上输入正确答案来创建新的通行证。
- 应用程序将存储联系人。每个联系人都有姓名、姓氏、照片、电话和地图注释的coollection。
- 用户可以创建一些组(如家人、朋友...)
所以我创建这个应用程序是为了理解objective-c的基础知识,也许我的应用程序中没有逻辑。请检查我的实体,也许我允许失误。
第一实体联系人
- id - 联系人号码。
- 图片 - 我将在那里存储数组。因此,如果图像 <200 Kb 我将其插入数据库,如果更多,我将保存此图像的路径
- map - 地图注释字典
- 姓名
- 电话 - 电话号码数组
- 姓
第二实体组
- 联系人 - 包含联系人 ID 的数组,属于该组
- id - 组数
- title - 它是组的名称(如 Family、Friends...)
第三实体登录
- groups - 包含组 id 的数组,属于该组
- 登录
- 密码
- 秘密答案 - 回答秘密问题
- 秘密问题
关系
所以每个登录名可以有一些组,但每个组将只属于一个登录名。所以我为组关系创建了“多对多关系” 。所以每个组都包含一些联系人,并且联系人可以在一些不同的组中——我创建了多对多的关系。
关于属性“可选”。我明白,如果不检查 - 这个属性或关系必须是。所以我删除了这个属性
- 联系人中的“id”
- 组中的“id”
- 登录中的“登录名”,“密码”
- 在联系中的“toGroups”关系中
- 在组中的关系“toLogin”中
关于“删除规则”。我想如果我删除一些登录名,必须删除属于此登录名的所有组和联系人。我可以在登录中为关系“组”选择“级联”,但它只会删除组而不是联系人。对于“toContact”关系,我不能这样做,因为如果我删除某个组,它将删除联系人,但其他组仍然可以拥有此联系人。所以也许我必须在登录中创建属性“联系人” ,它将是联系人数组,并创建与联系人的关系,如果我删除登录,则属于它的所有组和联系人都将被删除。
PS对不起,我还是新手,我的问题对你来说可能很有趣,但我需要帮助