ios如何绑定数据?

发布于 2022-09-02 01:41:55 字数 294 浏览 26 评论 0

ios开发的时候如何能像MVVM一样绑定数据来操作。
比如我有这样一个场景,我有一个tableView,每个cell是一个用户,每个cell有一个用户的头像,当点击用户头像的时候就跳转到用户的个人主页。
但是目前问题是,当点击用户头像的时候,我并不知道是点击的哪个用户,因为头像这个imageView并没有绑定用户的数据。(点击头像不是选中cell,所以不会触发cell的didselect)
当然有很多笨办法可以获取到当前点击的是哪个用户的头像。
但是我想知道有没有什么优雅的办法,像MVVM一样,绑定数据,点击的时候我就知道我点击的是哪条数据了?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

水溶 2022-09-09 01:41:55

像mmmmmmaxx 说的,写一个用户头像的控件,会更好。因为:在项目中用到头像的地方会很多,便于统一管理。

仙女山的月亮 2022-09-09 01:41:55

目前是这样做的:tableView中把user的数据传给cell,在cell中监听imageView的点击事件。

仅冇旳回忆 2022-09-09 01:41:55

你可能需要 ReactiveCocoa

铁憨憨 2022-09-09 01:41:55

把图像和用户数据封装在一个对象中放在cell里面

非要怀念 2022-09-09 01:41:55

搬运工来了, ReactiveCocoa
可以给每个 cell 做个 viewModel,点到头像的时候给 viewModel 发个 signal,viewModel 可以带着用户信息发个 signal 出去, 在 controller 里监听所有 viewModel 的 signal 就可以了。

情深已缘浅 2022-09-09 01:41:55

用associated扩充id字段改动应该是最小的,但是我倾向于写一个承载头像的控件。

圈圈圆圆圈圈 2022-09-09 01:41:55

测试内容

  1. 列表项目

  2. 列表项目
    fdsa

旧夏天 2022-09-09 01:41:55

可以在cell里定义一个IndexPath
在加载cell时给IndexPath赋个值就可以了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文