全局变量/单身人士?

时间:2016-12-07 20:22:14

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

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

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

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

目前,该应用程序只具有按钮的视图,以便将其显示(显示)到其他视图控制器。在音序器播放的同时,我现在仍能听到音序器的音频,但是它的播放按钮只在那个屏幕上;当我返回到音序器视图时,前一次初始化的数据消失了,我再也无法停止播放音频了。

我被告知我需要创建一个单例/ NSObject文件,但我没有详细说明如何执行此操作,并且没有找到太多可以帮助我的特定情况的在线。我尝试将音序器的视图控制器转换为容器视图,然后在子视图容器上方的主视图中使用播放按钮,但没有运气。

有谁知道如何提供帮助?

1 个答案:

答案 0 :(得分:-1)

创建像这样的单身人士:

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