【问题标题】:Global variables/singletons? [duplicate]全局变量/单例? [复制]
【发布时间】:2017-04-22 22:33:55
【问题描述】:

我有一个基于音频/音乐的应用程序,其中有各种视图。

在一个视图中有一个音序器,另一个视图有鼓垫,另一个视图有按钮来录制和播放录制的音频。

我最初设置了这些屏幕,以便它们每个都有自己的类文件,但我意识到我希望能够从其他视图控制音序器的播放。

目前,该应用程序仅具有带有按钮的视图,可以将(显示)到其他视图控制器。在播放音序器时,我目前仍然可以听到音序器的音频,但是它的播放按钮仅在该屏幕中;当我返回音序器查看之前初始化的数据时,我无法再停止播放音频。

有人告诉我我需要创建一个单例/NSObject 文件,但我没有得到太多关于如何执行此操作的详细信息,也没有在网上找到很多可以帮助我的具体案例的信息。我尝试将音序器的视图控制器转换为容器视图,然后在子视图容器上方的主视图中设置播放按钮,但没有成功。

有人知道怎么帮忙吗?

【问题讨论】:

    标签: objective-c xcode audio singleton global-variables


    【解决方案1】:

    像这样初始化一个单例:

    static id _sharedSingleton = nil;
    + (id) sharedInstance {
        if (_sharedSingleton) 
            return _sharedSingleton;
        @synchronized(self) {
            if (    !    _sharedSingleton) {
                _sharedSingleton = [[self alloc] init];
            }
        }
        return _sharedSingleton;
    }
    

    【讨论】:

    • 如何将函数放入单例中?也就是说,当我在另一个视图控制器中使用按钮时,它会从单例对象文件中调用该函数?
    • 这不是实现单例的最佳方式。
    猜你喜欢
    • 1970-01-01
    • 2019-06-05
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 2022-01-28
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多