2011-08-10 3 views
0

Objective Cの新機能で、コードの1行だけでオブジェクトをより正確に初期化するメソッドを作成しようとしています。 ...私のメソッド宣言は、私のメソッドの呼び出しが...Objective C - オブジェクトを初期化するときにメソッドのパラメータにオブジェクト名を渡す際の問題

[...buttonDeclaration:newButton :40 :65 :80 :65...] 

です...

- (void)buttonDeclaration: (UIButton *)mButton :(int)xloc :(int)yloc :(int)bWidth :(int)bHeight 
         : (NSString *)sImage :(UIViewController *)mView :(SEL)mSelector 
{ 
    mButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [self buttonSetxy:mButton :xloc :yloc :bWidth :bHeight]; 
    [mButton setBackgroundImage:[UIImage imageNamed:sImage] forState:UIControlStateNormal]; 

    [mView.view addSubview:mButton]; 
} 

ですが、私は

[newButton setHidden:FALSE]; 
を追加しようとすると、

メソッドの呼び出し後は何もしません。私は、適切な用語が何であるか分かりませんが、オブジェクト名はmButtonではなくnewButtonでなければなりません。これは意味があり、これをどのように達成するのですか?

+0

buttonSetxyメソッドは何ですか?フレームを正しく設定していますか? – mayuur

+0

buttonSetxyは、ボタンの座標を変更するだけの別のカスタムメソッドです。再び、私のメインビューコントローラーの1行コーディングのために。 – leejhall

+0

buttonSetxyのコードを投稿できますか?もしあなたがbtnのフレームを設定していなければ、それは追加されます。 – mayuur

答えて

0

実際には、方法が目的cで宣言される方法が異なります。

複数の引数を持つメソッドを宣言するときは、次のようになります。

  • (ボイド)MyMethodは:(int型)firstNum secondArgument:(int型)secondNum

のでウル方法は

  • (無効)buttonDeclarationように宣言されます:(int)bHidth imageName:(NSString *)sImage myView:(UIViewController *)m(UIViewController *)mButton xPosition:(int)xloc yPosition:(int)ビューセレクター:myBtnですxPosition:5 yPosition:10幅:5高さ:10など(SEL)mSelector

は今、あなたは自己buttonDeclaration [

することによって、このメソッドを呼び出します。 ......]

、あなたのボタンを非表示にする場合、ちょうど

myBtn.hidを書きますden = YES;

+0

これは単に名前を変更するだけですが、他の効果はありません。私は名前のない議論を使うのは悪いことだと思う。 – DarkDust

+0

そうですが、あまりにも混乱しそうに見えます... – mayuur

関連する問題