2013-10-18 7 views
0

첫 번째 사용자 등록을하려고합니다. 등록은 사용자가 편집해야하는 4 개의 텍스트 필드로 이루어지며 버튼을 눌러 저장됩니다 (IBAction). 1 필드가 비어 있으면이 IBAction을 중단해야합니다. 경고 텍스트는 사용자에게 표시되며, 그/그녀는 내가하는 .m 스크립트에 내 4 Uitextfields을 연결 한 그리고 내가 생각/구문 분석 서버에은 textData을 저장하기 전에"if 문 오류"에 대한 IBAction 중단

를 문제를 해결해야합니다 좋은 if 문을 작성했습니다. 하지만 경고 문구를 작성한 후 스크립트를 중지하려면 어떻게해야합니까?

코드하는 .m : 제공하는 도움에 미리

- (IBAction)REGISTERNEWUSER:(id)sender 
{ 

    //DEFINE STRINGS FOR MODULE 
    NSString *NICKNAME = Nickname.text; 
    NSString *USERNAME = Username.text; 
    NSString *PASSWORD = Password.text; 
    NSString *EMAIL = Email.text; 
    NSString *ERRORREGISTRATION = @"Please fill up all fields above before proceeding with the registration..."; 

    //CHECK IF ALL REGISTRATION FIELDS ARE FILLED 
    if ([Nickname.text length] > 0 || [Username.text length] > 0 || [Password.text length] > 0 || [Email.text length] > 0) 
    { 
    } 
    ErrorRegistration.text = ERRORREGISTRATION; 

    // 
    // METHODE NEEDS TO STOP HERE 
    // BUT AT MOMENT CONTINUES TO SEND DATA TO PARSE 
    // 
    { 

    } 


    //SEND DATA TO PARSE SERVER 
    PFObject *User = [PFObject objectWithClassName:@"USER"]; 
    [User setValue:NICKNAME forKey:@"Nickname"]; 
    [User setValue:USERNAME forKey:@"Username"]; 
    [User setValue:PASSWORD forKey:@"Password"]; 
    [User setValue:EMAIL forKey:@"Email"]; 
    [User save]; 
} 

감사합니다. 친절 인사, Lien.

+0

메소드를 종료하려는 곳에 'return' 문을 추가하십시오 ("스크립트"가 아닙니다). – rmaddy

+0

"return statement"에 익숙하지 않습니다. return 문이 어느 정도 가리 키도록해야합니까, 아니면 "버튼을 누르기 전에"자동으로 복귀할까요? methode 대 스크립트 단어를 수정 해 주셔서 감사합니다. 귀하의 권리 (홍당무) 나는 그것을 코딩에서 바꿀 것입니다. – user2876484

+0

'return' 문이 무엇인지 모르는 경우 iOS 앱에서 작업을 중단하고 Objective-C (및 C)의 기초를 배우십시오. 시간이 많이 소요됩니다. 프로그래밍 언어의 기본을 이해하지 못한다면 앱을 작성할 수 없습니다. 나는 이것을 도움이되는 말로 생각한다. – rmaddy

답변

0

당신은 다음과 같이합니다 :

if ([Nickname.text length] == 0 || [Username.text length] == 0 || [Password.text length] == 0 || [Email.text length] == 0) { 
    // Not all fields are entered 
    ErrorRegistration.text = ERRORREGISTRATION; 
} else { 
    // All fields are entered 
    //SEND DATA TO PARSE SERVER 
    PFObject *User = [PFObject objectWithClassName:@"USER"]; 
    [User setValue:NICKNAME forKey:@"Nickname"]; 
    [User setValue:USERNAME forKey:@"Username"]; 
    [User setValue:PASSWORD forKey:@"Password"]; 
    [User setValue:EMAIL forKey:@"Email"]; 
    [User save]; 
} 

BTW을 - 당신의 Caps Lock 키 수정합니다. 메소드와 변수 이름은 camelCase (소문자로 시작하는)를 사용해야합니다. 클래스 이름은 CamelCase (대문자로 구걸)를 사용해야합니다.

if ([nickname.text length] == 0 || [username.text length] == 0 || [password.text length] == 0 || [email.text length] == 0) { 
    // Not all fields are entered 
    errorRegistration.text = @"Please fill up all fields above before proceeding with the registration..."; 
} else { 
    // All fields are entered 
    //SEND DATA TO PARSE SERVER 
    PFObject *user = [PFObject objectWithClassName:@"USER"]; 
    [user setValue:nickname.text forKey:@"Nickname"]; 
    [user setValue:username.text forKey:@"Username"]; 
    [user setValue:password.text forKey:@"Password"]; 
    [user setValue:email.text forKey:@"Email"]; 
    [user save]; 
} 

이 경우 모든 추가 변수가 필요하지 않습니다.

+0

감사합니다. 코딩이 매력처럼 작동했습니다. :) 죄송합니다 변수에 대문자. 그 방법은 내가 한동안 사용 해왔고 그것에 적응했습니다. 언급 한 CAPS 사용을 의무적으로 사용하고 있습니까, 장기적으로 문제를 일으킬 수 있습니까 아니면 그냥 표준입니까? 당신의 도움을 주셔서 감사합니다 !!! – user2876484

+0

제가 언급 한 이름 지정 규칙은 꼭 필요한 것은 아닙니다. 그러나 Objective-C, Java 및 다른 언어로 많은 프로그래머가 사용하는 표준입니다. 공통 표준을 사용하면 다른 사람들이 코드를 더 쉽게 읽을 수 있습니다. 다른 개발자와 작업하는 경우 팀에서 작업을 쉽게하기 위해 동일한 코딩 표준을 사용하는 것이 중요합니다. 항상 자신과 자신의 코드 만 있으면 원하는 것을하십시오. 그러나 그때조차도 나는 공통 관례를 따르는 것이 좋습니다. – rmaddy

+0

감사합니다. maddy :) – user2876484