2012-02-26 5 views
-2

안녕하세요 저는 xcode 코딩이 처음이에요. 그래서 제 자신을 배우고 있습니다.'||'앞에 예상 식 xcode의 토큰

이 코드를 작성하면 오류가 처음 나타나는 "|" '||'전에 EXPEDED EXPRESSION을 말하라. 토큰. 이것은 내 if 문입니다.

if (([email protected]"")) || ([secretPin isEqual:null]) 

null이 맞나요?

아무런 도움이 필요하십니까?

+0

안녕하세요. 게시물에 언어 태그를 추가하십시오. – Mahesh

+0

Hehehehe 그래, 남자는 톱과 같은 세상에서 잘 작동합니다. P : P – Ram

답변

2

몇 가지 문제 :

    C에서
  • (그리고 오브젝티브 C)를 사용한 같은 단일 등호가없는 비교, 과제에 대한 두 번째
  • , 목적에 문자열 비교를 할 수있는 적절한 방법입니다 -C 그래서 대신,436를 사용하는 isEqualToString:
  • 오브젝티브 C가 거짓으로 평가한다 전무 포인터가 nil 대신 오브젝티브 C에서
  • null의 사용 NSString 방법을 사용하는 것그냥 !secretPin 테스트 할 수 있습니다 (true를 돌려줍니다 secretPin입니다 것은 전무) 다른 사람들이 지적했듯이, 당신의 괄호를 잘못 조건부

그래서 더 정확한 재 작성에 설정되어

  • 은 다음과 같습니다

    if ([self.nametextfield.text isEqualToString:@""] || !secretPin) { 
        // do something 
    } 
    

    편집 : 또한

    nametextfieldself (의 속성 지금이이 경우에 self가 어디이 예제를 편집 한 점에 유의하여 보기 컨트롤러). "예기치 않은 식별자"오류로 인해 스토리 보드 또는 xib 파일에 생성 된 텍스트 필드 개체가보기 컨트롤러에 올바르게 연결되지 않았다고 생각됩니다. 당신은 (.H) 파일 당신이 당신의 헤더에이 같은 뷰 컨트롤러의 속성으로 텍스트 필드를 선언하고 있는지 확인해야합니다

    @property (nonatomic, weak) IBOutlet UITextField* nametextfield; 
    

    및 구현 (하는 .m) 파일의 속성을 합성 :

    @synthesize nametextfield; 
    

    다음 스토리 보드 또는 xib의 UITextField를이 IBOutlet에 첨부하십시오.

  • +0

    Jonkroll, 도와 주셔서 감사합니다. 하지만 내 nametextfield는 NSString이 UItextfield가 아니므로 nametextfield.text = @ ""를 사용하고 3 개의 오류가 나타납니다. 1 - 예상 식별자. 이전 오류로 인해 혼란스러워졌습니다. 3 개의 예상 ':'before "]"토큰. – Ram

    +0

    jonkroll NSString 형식의 Empty라는 변수를 만들고 코드가 올바르게 실행되도록 nametextfield.text를 제공합니다. NSString * Empty = nametextfield.text; if ([Empty isEqualToString : @ ""] ||! secretPin) { – Ram

    +0

    올바른 코드 예에서 코드 예제의 ".text"속성을 놓쳤습니다. 또한 "예상 된 식별자"오류로 인해 UITextField를 View Controller에 올바르게 연결하지 않았다고 생각됩니다. 위의 내 대답을 편집하십시오. – jonkroll

    0

    나는 이것이 Objective-C라고 추정합니까 ??

    if (([email protected]"") || ([secretPin isEqual:null])) 
    

    뿐만 아니라, [email protected]"" 두 카운트 잘못, 표준 오브젝티브 C 널 포인터 값이 nil입니다 : 그렇다면, 당신은 잘못 괄호를 가지고있다.

    0

    표현에는 괄호가 필요하지 않습니다. 그것은이어야합니다

    if (nametextfield.text = @"" || [secretPin isEqual:null]) 
    

    저를 위해 컴파일되고 더미 데이터로 실행됩니다.

    관련 문제