【问题标题】:ios keep view in memoryios在内存中保持视图
【发布时间】:2013-10-24 00:33:00
【问题描述】:

我正在创建一个播放音乐的应用程序,并为专辑封面和进度条提供漂亮的 UI。问题是当用户离开播放器视图并返回时,播放器 UI 必须重新加载,并且在调整进度条大小并加载专辑封面时您会看到闪烁。

当您离开控制器时,有什么方法可以将项目保存在内存中?与您在 iPhone 音乐应用程序上的播放列表和播放器视图之间切换的方式类似,在查看艺术作品或歌曲进度时没有延迟或延迟,从一开始就存在。

还是我想错了?

【问题讨论】:

    标签: ios iphone objective-c


    【解决方案1】:

    我假设您使用UINavigationController 来回移动,如果是这样,则默认行为是视图控制器将在您返回时释放,因为对它的唯一强引用是在UINavigationController 堆栈中,当它被弹出时,引用丢失,因此你的控制器被释放。

    如果您想避免这种情况,您需要做的就是让任何其他对象对您的视图控制器具有强引用。一种简单的方法是在初始化控制器时,在该类中具有一个强大的属性,该属性包含对您不想丢失的视图控制器的引用。

    希望对您有所帮助。

    【讨论】:

    • 谢谢,我确实在它初始化的控制器的标题中强烈引用了视图控制器,但它似乎没有任何效果。不过,也许我分配/初始化不正确。
    猜你喜欢
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-21
    相关资源
    最近更新 更多