2012-09-17 7 views
1

나는 아이폰 프로젝트를 만들고 있으며 초보자입니다. 내가 Tic Tac Toe 응용 프로그램을 만드는 중이라서 내가구현 파일 내에서 함수를 실행하는 방법은 무엇입니까?

'X' to 'O'에서 차례를 변경하는 기능을 만들고 싶어 그래서 난이

void setTurn(){ 
    SinglePlayer*SO=[[SinglePlayer alloc]init]; 
    SO .turn =1; 
    if (SO.turn%2==0){ 
     SO->[email protected]"O Turn"; 
    } 
    else SO->[email protected]"X Turn"; 
    SO.turn++; 
} 

를 입력 시도 SO SinglePlayerObject을 의미한다. 제가

구현

의 헤더에서이 정의는 I있어서

-(IBAction)PutSign2:(id)sender{ 
    if (turn%2 !=0){ 
     [email protected]"X"; 
    } 
    else if (turn%2 ==0){ 
     [email protected]"O"; 
    } 
} 

하에서이 방법 putSign();를 입력하려고 할 때 오류를 도시간에

. 내가 C++과 경험을 가지고 있기 때문에

그래서 내가 어떻게 C++과 동일 방법을 실행할 수 있습니까?

헤더 파일

#import <UIKit/UIKit.h> 

@interface SinglePlayer : UIViewController{ 

    IBOutlet UILabel*label1; 
    IBOutlet UILabel*label2; 
    IBOutlet UILabel*label3; 
    IBOutlet UILabel*label4; 
    IBOutlet UILabel*label5; 
    IBOutlet UILabel*label6; 
    IBOutlet UILabel*label7; 
    IBOutlet UILabel*label8; 
    IBOutlet UILabel*label9; 

    BOOL Player; 

    int turn; 

    IBOutlet UILabel*turnLabel; 


} 
@property (nonatomic)int turn; 
@property (nonatomic) BOOL Player; 
-(IBAction)PutSign1:(id)sender; 
-(IBAction)PutSign2:(id)sender; 
-(IBAction)PutSign3:(id)sender; 
-(IBAction)PutSign4:(id)sender; 
-(IBAction)PutSign5:(id)sender; 
-(IBAction)PutSign6:(id)sender; 
-(IBAction)PutSign7:(id)sender; 
-(IBAction)PutSign8:(id)sender; 
-(IBAction)PutSign9:(id)sender; 
void setTurn(); 


@end 

이며,이 아래처럼되지 않은 구현을

@implementation SinglePlayer 
//Player=true = X 
//Player=False= O 
@synthesize Player; 
@synthesize turn; 

void setTurn(){ 
    SinglePlayer*SO=[[SinglePlayer alloc]init]; 

    SO .turn =1; 
    if (SO.turn%2==0){ 
     SO->[email protected]"O Turn"; 

    } 
    else SO->[email protected]"X Turn"; 
    SO.turn++; 
} 
//this code to put the sign in the button label:- 
//[sender setTitle:@"X" forState:UIControlStateNormal]; 
-(IBAction)PutSign1:(id)sender{ 
    if (turn%2 !=0){ 
     [email protected]"X"; 
    } 
    else if (turn%2 ==0){ 
     [email protected]"O"; 
    } 
[email protected]"O Turn"; 
} 
     putSign(); 
-(IBAction)PutSign2:(id)sender{ 
    if (turn%2 !=0){ 
     [email protected]"X"; 
    } 
    else if (turn%2 ==0){ 
     labe[email protected]"O"; 

    } 
}  
    putSign(); 

-(IBAction)PutSign3:(id)sender{ 
    if (turn%2 !=0){ 
     [email protected]"X"; 
    } 
    else if (turn%2 ==0){ 
     [email protected]"O"; 

    } 
} 
putSign(); 
-(IBAction)PutSign4:(id)sender{ 
    //[sender setTitle:@"X" forState:UIControlStateNormal]; 
} 

putSign(); 

답변

0

쓰기 방법입니다.

-(void)setTurn 
{ 
    SinglePlayer*SO=[[SinglePlayer alloc]init]; 

    SO .turn =1; 
    if (SO.turn%2==0){ 
     [email protected]"O Turn"; 

    } 
    else [email protected]"X Turn"; 
    SO.turn++; 
} 
0

이름이 망쳐 집회이다; 내가 그 관련이없는 중요하지 않은 소리로 들리 겠지만)하지만 난

코드를 읽기/쓰기 훨씬 쉬워집니다 '이름의 힘을'하는 것은 과소 평가하지 않을


어쨌든 ... 함수가 없습니다. 객체에 속한 메소드가 있습니다. [OBJECT executeMyMethod : myParam];

+0

내가 편집했습니다. 이제 구현 파일과 인터페이스 파일을 넣으십시오. – user3267672

관련 문제