如何将数据从一个单元格传递到另一个视图?
Posted
技术标签:
【中文标题】如何将数据从一个单元格传递到另一个视图?【英文标题】:How to pass the data from one cell to another view? 【发布时间】:2011-09-20 13:10:39 【问题描述】:我创建了一个应用程序,它通过 JSON 解析将数据加载到 UITableview 中。现在,当用户单击一个单元格时,用户将被导航到另一个视图,用户可以在其中获得前一个单元格的更多详细信息。我能够传递标签和所有其他东西,但我无法传递前一个单元格中的图像。谁能帮帮我吗?提前谢谢。
【问题讨论】:
【参考方案1】:你的 UITableView 有一个底层数据源和一个委托
当你点击单元格时,它会触发“didSelectRowAtIndexPath”方法,告诉你被点击的单元格的索引。
使用它从您的底层数据源获取相关信息,并将其传递给下一个视图(就像您已经对标签文本等所做的那样)
一个高级示例 - 你有一个类的 NSArray,它具有图像名称和图像链接。因此,当用户单击索引 5 处的单元格时,您将获得数组中索引 5 处的对象,并将该信息传递给您将要推送到 NavigationController 的 ViewController。
在您的情况下,您必须根据单击的索引从 JSON 中获取该信息。或者将您的 JSON 转换为中间对象。
希望这会有所帮助。
UIImage *myImage = ...; // You have the UIImage.
MyViewController *controller = [[MyViewController alloc]init];
controller.imageToDisplay = myImage; //declare public property.
[self.navigationController pushViewController:controller];
[controller release];
【讨论】:
我同意你写的任何东西,我也已经这样做了。标签和其他内容已成功传递,但问题在于传递图像。我为所有标签获取了一个字符串数组。现在由于图像不是字符串,那么如何传递呢?? 我不明白。你有内存中的图像作为 UIImage 吗?然后,您可以在 Viewcontroller 上拥有一个接受 UIImage * 的公共属性,然后在 ViewWillAppear 上显示该 UIImage。否则,您能否将 url/path 传递给图像本身,并且可以从那里加载 UIImage? 我从库中获取了 UIImageview。现在在 url 中有一个标签为以上是关于如何将数据从一个单元格传递到另一个视图?的主要内容,如果未能解决你的问题,请参考以下文章
将数据从集合视图单元格内的表视图单元格传输到另一个集合视图单元格 [带图片!]
Swift 4:将数据从集合视图单元传递到另一个没有故事板的视图控制器