所以我使用导航控制器来处理两个视图控制器。一个是ItemsViewController,它是NavController的根视图控制器。
名为DetailViewController的第二个控制器被推送到ItemsViewController之上。这样我就可以使用这两个控制器进行深入分析。现在在DetailViewController里面我添加了几个子视图,比如按钮,文本字段,标签和imageView
。
在DetailViewController内声明的imageView
指针属于'weak'类型,因此每当视图控制器的主视图被清除时,旧的imageView对象就不会挂起。但实际上我正在观察这种行为。
当我从DetailViewController的视图返回到ItemsViewController的表视图时,前者从父子控制器堆栈加载,以便当我重新进入DetailViewController的视图(与之前相同)时,重新加载从而重新创造了一个UIView。
因此,新的UIView已经创建了所有新的子视图对象。但是(这就是问题),new imageView
对象中的旧图像对象仍然存在。这让我很困惑。有人可以解决这个问题吗?
答案 0 :(得分:1)
在ViewWillDisappear
设置UIImageView如下,可以解决您的问题
imageView.image = nil