我有一个基本的核心数据模型:
类
- 类名称(字符串)
关系:HasDetails(对很多人) - 到细节
详细
-Number(int)
-Name(string)
关系:IsPartOfClass -to Class
我有两个表视图,一个用于“类”,一个用于“详细信息”并设置了所有绑定,但是,当我向Details添加一个新对象时,它会显示所有类,当我需要它时仅显示一个,选定的一个
答案 0 :(得分:3)
此处缺少大量信息,您对实体的描述令人困惑。我强烈建议你花点时间在未来提供更多细节。
听起来好像你有一个Class< ---->>细节(一对多关系:一个类有很多细节,一个细节有一个类)。是吗?
假设Class'详细信息关系称为“详细信息”,Details'类关系称为“class”,并且所有内容都在您的托管对象模型中正确设置(反向关系几乎总是正确的事情),你我想要以下内容:
通过执行此操作,调用Details数组控制器的-add:-insert:和-delete :(或者它是“-remove:”?)方法(例如从按钮)将自动正确处理关系(将添加新的“详细信息”实例到选定的“类”实例的详细信息集。
确保将添加/插入/删除按钮的启用状态绑定到阵列控制器的“canAdd”和“canRemove”(或者是“canDelete”?)属性,以便在所需的选项中没有选择时将其禁用地方。
答案 1 :(得分:0)
您需要一个类的数据库,每个类都有一个名称和一个数字。这不需要单一的关系,并且很容易实现!
在数据模型视图的右上方窗格中,您可以创建类,“类”或其他任何内容,在右侧的下一个窗格中,您可以按“+”按钮为属性“添加属性”你会标题“名字”和“数字”。在此视图的最右侧列中,为名称选择“String”,为数字选择“Integer”。
在界面构建器中,您将向模型视图添加一个数组控制器,然后选择您的阵列控制器,进入绑定检查器,打开“ManagedObjectContext”的底部选项卡,然后选择“File's Owner's”managedObjectContext(请记住在View Controller中声明它,并在dealloc方法定义中释放它。)
我怀疑你只需要一个表视图,但有多列。单击表视图两次,然后在属性检查器中将列设置为3.然后单独选择每个列,再次在绑定检查器中,将每个列的值设置为您希望它显示的Array Controller的属性。
添加几个绑定到阵列控制器的“添加”和“删除”方法的按钮,您应该进行设置。