2016-12-09 66 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