2016-12-09 4 views
1

私はアウトレットコレクションとしてボタンを持つ各トラックのシーケンサーを持っています。しかし、私は他のビューからの再生を制御できるように、すべてのメソッドをシングルトンに転送したいと思います。例えばシングルトンにNSArrayを使用したアウトレットコレクション

Iは各ボタンのアルファ及びタグに作用する方法を持っているしかし、私は

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

を有します。これらのメソッドにはシングルトンからアクセスする方法がわかりません。私は、シングルトンはすべてのデータを格納していた場所だと思って、それからクラスファイルビューコントローラから呼び出すのですか?

+1

あなたが接続してはなりませんボタンをシングルトンに直接接続します。ビューコントローラのボタンは、プレイヤシングルトン(再生/一時停止など)で適切なメソッドを呼び出すビューコントローラのコードをトリガする必要があります – Paulw11

答えて

0

この機能を実現するために継承コンセプトを使用できます。IBOutletCollectionプロパティを持つParentViewControllerを1つ作成する必要があります。すべてのView Controllerの子は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

関連する問題