2011-08-10 2 views
0

목표 C를 처음 접했을 때 한 줄의 코드 만 사용하여 객체를 더 자세하게 초기화하는 메서드를 만들려고합니다. ... 내 메소드 선언은 ...Objective C - 객체를 초기화 할 때 메소드 매개 변수를 통해 객체 이름을 전달할 때의 문제

- (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]; 
} 

내 메서드 호출은 ...

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

하지만 나는

[newButton setHidden:FALSE]; 
를 추가 할 때

메서드를 호출 한 후 아무 것도 수행하지 않습니다. 적절한 용어는 무엇인지 모르겠지만 객체 이름은 mButton이 아닌 newButton이어야합니다. 이것이 의미가 있으며 어떻게 이것을 성취합니까?

+0

buttonSetxy 메서드는 무엇을합니까 ??? 프레임을 제대로 설정하고 있습니까? – mayuur

+0

buttonSetxy는 단추의 좌표를 변경하는 또 다른 사용자 지정 메서드 일뿐입니다. 다시 한번, 내 메인 viewcontroller에서 한 줄짜리 코딩. – leejhall

+0

buttonSetxy에 대한 코드를 게시 할 수 있습니까? CZ 만약 당신이 btn의 프레임을 설정하지 못하면 wudnt가 추가됩니다. – mayuur

답변

0

실제로 방법이 목표 c에서 선언되는 방식이 다릅니다.

여러 인수를 사용하여 메서드를 선언하면 다음과 같이됩니다.

  • (공극)가 MyMethod라는 (INT)에서는 firstNum secondArgument (INT) secondNum이라는
  • 그래서 UR 방법

    • (공극) buttonDeclaration 같이 선언한다

    : (int) bHeight imageName : (NSString *) sImage myView : (UIViewController *) m (int) yPosition : (int) 보기 선택 : (SEL) mSelector

이제

[자기 buttonDeclaration하여이 메소드를 호출됩니다 myBtn xPosition : 5 yPosition : 10 폭 : 5 높이 : 10 등등. ......]

당신이 당신의 버튼을 숨기려면, 단지

myBtn.hid 쓰기 den = YES;

+0

이것은 단순히 이름을 변경하지만 다른 효과는 없습니다. 나는 익명의 주장을 사용하는 것이 나쁜 것이라고 동의한다. – DarkDust

+0

하지만 너무 많이 혼란스럽게 보입니다 ... – mayuur

관련 문제