ios在内存中保持视图
Posted
技术标签:
【中文标题】ios在内存中保持视图【英文标题】:ios keep view in memory 【发布时间】:2013-10-24 00:33:00 【问题描述】:我正在创建一个播放音乐的应用程序,并为专辑封面和进度条提供漂亮的 UI。问题是当用户离开播放器视图并返回时,播放器 UI 必须重新加载,并且在调整进度条大小并加载专辑封面时您会看到闪烁。
当您离开控制器时,有什么方法可以将项目保存在内存中?与您在 iPhone 音乐应用程序上的播放列表和播放器视图之间切换的方式类似,在查看艺术作品或歌曲进度时没有延迟或延迟,从一开始就存在。
还是我想错了?
【问题讨论】:
【参考方案1】:我假设您使用UINavigationController
来回移动,如果是这样,则默认行为是视图控制器将在您返回时释放,因为对它的唯一强引用是在UINavigationController
堆栈中,当它被弹出时,引用丢失,因此你的控制器被释放。
如果您想避免这种情况,您需要做的就是让任何其他对象对您的视图控制器具有强引用。一种简单的方法是在初始化控制器时,在该类中具有一个强大的属性,该属性包含对您不想丢失的视图控制器的引用。
希望对您有所帮助。
【讨论】:
谢谢,我确实在它初始化的控制器的标题中强烈引用了视图控制器,但它似乎没有任何效果。不过,也许我分配/初始化不正确。以上是关于ios在内存中保持视图的主要内容,如果未能解决你的问题,请参考以下文章
推送到另一个视图后,如何让这个 ios 按钮在提要视图中保持可见?
关闭 ViewController 后,我的视图保持在 iOS7 中以前的视图控制器方向