2015-01-02 2 views
18

을 빌드하는 동안 일치하지 않는 결과, 매개 변수 유형 또는 특성 오류가있는 'count'라는 메서드가 여러 개 있습니다. 응용 프로그램은 32 비트에서 잘 작동했다. 나는 Apple guideline에 따라 64 비트로 변경했습니다. 본인은 Link을 추천했지만 도움이되지 않습니다.Xcode 6.1 : 일치하지 않는 결과, 매개 변수 유형 또는 특성을 가진 'count'라는 여러 메서드가 발견되었습니다.

시뮬레이터의 여러 기기에서 앱을 테스트했습니다. 32 비트에서는 정상적으로 작동하지만 64 비트에서는 오류가 발생합니다. 왜 이렇게됩니까? intNSInteger 내가 64 비트에서 다르지만에서 같은 생각 - Error

+0

시도와 모든 속성이있다. –

답변

9

해결 방법 1 : 내가보기 컨트롤러의 속성으로 수를 선언했다 . 나는 그것을 CountValue으로 바 꾸었고 문제가 해결되었습니다.

해결책 2 : 적절한 데이터 형식으로 입력 할 수 있습니다. [response count]을 포함하는 장소의 1000 거기 때문에

if([(NSArray *) response count]>0) { 
    ... 
} 

이 솔루션

내 경우에는 가능하지 않았다.

22
if([response count]>0) 

response

-(void)serviceSuccessFulForPatientSelect:(id)response 
{ 
    [self hideOverlay]; 
    if([response isKindOfClass:[NSArray class]]) 
    { 
     if([response count]>0) 
     { 
      if(1) 
      { 
       ... 
      } 
     } 
    } 
    [refillDetailTable reloadData]; 

} 

는 오류가 다른 형태를 돌려 count라는 여러 가지 방법이 있습니다 제안, 여기 id입니다 32.

캐스트를 수행하려면 다음을 수행하십시오.

if([(NSArray*)response count]>0) 
+1

변경 될 약 1000s 장소가 있기 때문에 캐스팅에 적합하지 않습니다 ... 다른 모든 수정 –

+1

수천 곳? 다른 방법은 (아마도 코드에서) 다른 계산 방법을 찾아 반환 유형을 변경하는 것입니다. 하지만 수천 개의 id 객체가 있다면, 틀린 것 같습니다. – jrturton

0

두 응답을 확인, 이름 수 "수"를 호출하기 전에있는 NSArray에 대한 응답을 캐스팅

+0

문제가 있다면 무엇입니까? –