UIPickerview和核心数据有关系

时间:2015-12-29 17:51:19

标签: xcode swift core-data uipickerview

我有两个名为Logbook(to-one-boats)和Boats(to-many-Logbook)的实体。 当我在Logbook中注册一个新的日志时,我有一个充满船只的UIPickerview。注册时一切正常。 但是,如果我打开已经注册的日志,那么在关系中选择器视图中设置所选船的最佳做法是什么?现在我比较boatname(字符串)并设置选中。但我感觉不舒服:) 我在Swift编程

1 个答案:

答案 0 :(得分:0)

所以你想要做的是基本上有一种基于UIPickerView中的选择来识别coredata条目的方法。

获取所有核心数据条目时,将其作为列表获取,然后使用coredata条目中的字符串值填充pickerview。

您应该做的是将那些获取的coredata条目存储为字段变量中的coredata条目对象列表,然后像今天一样填充选择器视图。两个列表(coredata和pickerview数据)现在应该具有相同的顺序(除非您出于某种原因更改它们)。这意味着您可以根据pickerview中选定的索引轻松识别coredata条目。由于您有一个coredata条目列表,您可以简单地更改所需的任何字段,并直接更新条目。您不需要根据条件查找条目,因为您已准备好使用该条目。

如果由于某种原因需要更改pickerview中元素的顺序(按字母顺序排列),您还需要重新排列coredata列表,或者只是在获取coredata条目时将排序添加为谓词第一名。