2010-12-20 13 views
0

大丈夫、みんな:NSObjectクラスの別のクラスを初期化するには?

私は2つのクラス間の通信中に問題が会ったが、ここで

Assistant NSObjectClassからメソッド changeViewBackgroundColorを呼び出し MyViewController ViewControllerClassはメソッドです: Assistant.h

@interface Assistant : NSObject { 

MyViewControllere *myViewController; 

Assistant.m

- (void)changeViewBackgroundColor:(id)sender 
{ 
    myViewController.myView.backgroundColor = [UIColor whiteColor]; 
} 

しかし、私はmyViewControllerAssistantのスーパークラスは、私はchangeViewBackgroundColor方法で実装した場合、それを実装する場所がないmyViewController = [[MyViewController alloc] init]する必要があり、このつもりはない作品を知っている、それは遅すぎる少しもこのアシスタントクラスにはいくつかのメソッドがありますが、それらのすべてにはが必要ですが、質問はどこに入れますか?initコール?

答えて

1

initメソッドをオーバーライドし、initメソッドでmyViewcontrollerのオブジェクトを作成します。以下のような

-(void)init { 
       if(self=[super init]){ 
       //create the object for my view controller 
       } 
    return self;  
} 

私はよく、あまりにもそこにある「私は.... uはアシスタントクラスを使用して、どのような目的のために、まだわからない」

+0

....まだuはアシスタントクラスを使用してどのような目的のために確認していませんMyViewControllクラスのコードの多くの行は読みにくいので、いくつかのメソッドを分けて、私はあなたのコードを試しています:)しかし、元々NSObjectにはinitメソッドはありません。私は試している、後で応答 – flutewang

+0

はい、その作品!私のシナリオではいくつかの警告がありますが、\t \t myViewController = [[MyViewController alloc] init]; \t \t NSLog(@ "alloced ??:%@"、myViewController?@ "myViewController":@ "NO");はい、非常にありがとう!^_ ^ – flutewang

関連する問題