본문 바로가기

Android

[iPhone] Methods Syntax





 Method Syntax


-
(NSArray *)shipsAtPoint:(CGPoint)bombLocation withDamage:(BOOL)damaged;
맨 앞의 대쉬(-)는 인스턴스 메소드를 나타냅니다.
맨 앞이 플러스(+)인 경우 클래스 메소드를 나타냅니다.

-
(NSArray *)shipsAtPoint:(CGPoint)bombLocation withDamage:(BOOL)damaged;
맨앞의 타입은 메소드의 리턴타입(return type: 반환값형)을 나타냅니다.

- (NSArray *)
shipsAtPoint:(CGPoint)bombLocation withDamage:(BOOL)damaged;
첫번째 메소드 이름입니다. : 까지가 메소드 이름입니다.

- (NSArray *)shipsAtPoint:(CGPoint)bombLocation
withDamage:(BOOL)damaged;
두번째 메소드 이름입니다.

- (NSArray *)
shipsAtPoint:(CGPoint)bombLocation withDamage:(BOOL)damaged;

메소드를 읽을때는 shipsAtPoint: withDamage: (쉽스앳포인트 콜론 위드데미지 콜론)이라고 읽습니다.

- (NSArray *)shipsAtPoint:
(CGPoint)bombLocation
withDamage:(BOOL)damaged; 
첫번째 메소드의 아규먼트(argument: 인자)입니다. 아규먼트의 타입과 이름을 나타냅니다.

- (NSArray *)shipsAtPoint:(CGPoint)bombLocation withDamage:
(BOOL)damaged
두번째 메소드의 아규먼트입니다.

- (NSArray *)shipsAtPoint:(CGPoint)bombLocation withDamage:(BOOL)damaged;

이제 왼쪽부터 순서대로 읽으면 메소드가 어떤 값을 반환할지, 어떤 이름을 가지고 있는지, 아규먼트의 타입과 이름은 어떻게 되는지를 한번에 순차적으로 알 수 있습니다.




메소드에 네개의 아규먼트가 있다면 아래와 같은식으로 표현할 수 있습니다.

- (void)splitViewController:(UISplitViewController*)svc 

     willHideViewController:(UIViewController *)aViewController

          withBarButtonItem:(UIBarButtonItem *)barButtonItem
       forPopoverController:(UIPopoverController *)popoverController;