fuz*_*oat 2 iphone cocoa-touch objective-c uitableview nsmanagedobject
我正在填充一个UITableViewfrom中的单元格,CoreData我有一个关于如何最好地将我需要的数据传输给我的问题DetailController(即viewController,当单元格被点击时显示的数据).
目前在填充UITableViewCells时,我使用indexPath传递给单元格managedObject从Core Data中检索适当的.在这个阶段,我只用托管对象的一些信息更新单元格(即名称,年龄,性别).
在UITableView完全填充后,我想让用户选择一个UITableViewCell并DetailController显示更深入的信息(即姓名,年龄,性别,职业,体重,身高等).当点击单元格时,我正在使用-prepareForSegue过渡到新呈现的DetailController.
segue的"发送者"是UITableViewCell(子类),但我只用最初在较小的单元格中显示的信息填充了它.我是不是该
UITableViewCell子类并存储我需要的所有数据,managedObject使用我们在objective-c中使用的模型视图控制器模式您的视图永远不会知道您的数据模型.这意味着您的UITableViewCells不应具有存储数据模型中对象的任何属性.单元格应该只有标签和视图作为属性,视图控制器用其-tableView:cellForRowAtIndexPath方法或类似方法中的模型填充数据
你UITableViewCell在准备segue时得到了作为发送者的对象.您可以使用以下方法找到单元格的索引路径:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
NSIndexPath * selectedIndexPath = [self.tableView indexPathForCell:sender];
...
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用此索引路径再次从核心数据中提取模型对象,并将其设置为下一个视图控制器上的属性,或者将模型对象向前传递所需的任何操作
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |