2016-12-09 28 views
1

我有一个音序器,每个音轨都有按钮作为插座集合。代码在它自己的视图控制器中都可以正常工作,但是我想将所有方法都转换为单例,以便我可以控制其他视图的回放。带NSArray的单件收集到单身

例如我有

@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *trackOneOutletCollection; 

但是我有作用于α和每个按钮的标签的方法;该方法包含这些价值,我不知道如何从单身人士访问。我以为单件是我存储所有数据的地方,然后从类文件视图控制器调用它?

+1

你不应该连接直接按钮到单身人士。视图控制器中的按钮应触发视图控制器中的代码,该代码调用播放器单例中的适当方法(播放/暂停等) – Paulw11

回答

0

您可以使用继承概念来实现此功能。您需要创建一个包含IBOutletCollection属性的ParentViewController。并且所有视图控制器的其余部分都是ParentViewController的子项。那么您可以在其他视图控制器中访问IBOutletCollection。像这样。

ParentViewController: -

@interface ParentViewController : UIViewController 

@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *trackOneOutletCollection; 

@end 

ChildViewController; -

@interface YourViewController : ParentViewController 

@end 

.m文件

@implementation YourViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NSLog(@"trackOneOutletCollection = %@"self.trackOneOutletCollection); 
} 
@end 
+0

我已经有了此设置,但是在父视图控制器中,我有播放按钮,子视图控制器,我有音序器按钮 – Klaus