- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用带有 Swift 的主从 View Controller 。当我单击主单元格时,我会看到一个包含图片列表的 Collection View 。每张图片代表存储在 Core Data 中的数据。每张图片数据都有一个时间戳,并且同一天拍摄的所有图片都存储在同一个主单元中。
[Date of the day 1]
[pic1]
[pic2]
[Date of the day 2]
[pic3]
[pic4]
我想要实现的是:当我单击图片时,会显示另一个 ViewController(通过 segue),并且这个新的 VC 允许我编辑图片并更改其日期。
问题是,当我更改日期或图片时,这里会发生多件事:
如果您编辑集合项目,您只需执行以下操作:
self.collectionView performBatchUpdates:
然后更新模型,并通知 Collection View 您的操作...但我不知道如何从另一个 UIViewController 做到这一点。
目前,在编辑 View Controller 中,我更新模型,然后关闭 View Controller 。我遇到了崩溃,因为 collectionView 尝试显示不再属于当前集合的项目...
为了解决这个问题,也许我可以使用一个协议(protocol)来从编辑 View 通知详细 View ,但是如果我这样做,我需要将编辑单元格的 IndexPath 提供给编辑 View ,然后将其返回通过协议(protocol)查看详细信息...为什么不呢。但在我看来并不是那么干净。
另一个问题是,当我删除一天时,应用程序似乎也在主视图中崩溃。因为,主视图不知道我从编辑 View 中删除了一天。
我的主要问题是,我不知道如何告诉我的主视图 Controller 我做了一些模型更改......特别是当我在编辑 View 中没有任何 IndexPath 信息时。
从技术上讲,我猜我可以使用 notificationCenter 来通知两个 View ...但是,我仍然需要将两个 IndexPath 从主视图传递到详细 View ,然后传递到编辑 View 。
丑陋。
最佳答案
实现这一目标的几种方法:
1)委托(delegate):包含 Collection View 的 View Controller 将充当编辑 View Controller 的委托(delegate),编辑完成后它将回调一个方法到“包含 Collection View 的 View Controller ”
2) 通知:编辑完成
3) block
关于ios - 如何在另一个 UIViewController 中编辑 UICollectionView 项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30937053/
我是一名优秀的程序员,十分优秀!