iPhone:viewDidDisappear 的正确用法是什么?

标签 iphone objective-c ios uiviewcontroller

我对 Objective C 还是很陌生,我想知道有关 viewDidDisappear 的一些事情。 我有一个播放声音的应用程序(使用 AVAudioPlayer),我想在切换 View 时停止声音。

如果我在我的 View Controller 实现中这样做:

- (void)viewDidDisappear:(BOOL)animated {
    [self.audioPlayer stop];
}

它工作正常。但是我脑子里的小程序员说我没有正确使用它。 我很确定你应该用 bool 参数调用 viewDidDisappear,而不是仅仅指定 (BOOL)animated;此外,如果能在我的 View 切换中添加一些动画效果就好了……话又说回来,这可能是一个完全不同的讨论!

那么,我做错了什么,我该如何正确使用它?我是否必须链接调用按钮操作?实际声明函数本身的正确玩法在哪里? 谢谢。

最佳答案

我实现了 viewDidDisappear:(BOOL)animated EXTENSIVELY,以及 viewWillAppearviewWillDisappear viewWillDisappear 实现这个方法的主要原因是让你的 View Controller 在事件发生时做一些事情,比如 viewDidDisappear 你不调用这个方法,但是你的应用会调用你的 View Controller 来执行那里实现的操作。由于这是继承的方法,只要确保从父类(super class)继承的所有实现都能完成,实现viewDidDisappear就很好了。所以,我建议你把代码改成这样:

- (void)viewDidDisappear:(BOOL)animated {
    [super viewDidDisappear:(BOOL)animated];    // Call the super class implementation.
    // Usually calling super class implementation is done before self class implementation, but it's up to your application.

    [self.audioPlayer stop];
}

关于iPhone:viewDidDisappear 的正确用法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5204489/

相关文章:

ios - 通过 json post 发送类

ios - 合并 NSArray 和 NSDictionary 的复杂数据结构

ios - 错误 :Use of 'self' in property access 'content' before self. init 初始化自身

iphone - 在 iPhone 中突出显示时更改按钮的颜色

iphone - 错误:Apple Mach-O Linker (Id) Warning

ios - iOS 10 中的 UIVisualEffectView

iphone - 如何在通过 Storyboard添加的 UINavigationController 中设置 UINavigationItem 的颜色?

ios - 用于 iPad 的 UITableViewCell

iphone - iPhone上图片的路径

iphone - 如何让 UITableView(Controller) 捕获多点触控事件?