2015-01-02 30 views
18

Alıyorum uygulaması oluşturulurken eşleşmeyen sonuç, parametre türü veya öznitelik hatasıyla birlikte 'count' adında birden çok yöntem bulundu. App 32 bit iyi çalışıyordu. Apple guideline'a göre 64 bit olarak değiştirdim. Bu Link'u yönlendirdim ancak hiç yardım almadım.Xcode 6.1: 'count' adında birden çok yöntem eşleşmeyen sonuçla birlikte bulundu, parametre türü veya öznitelikler

Simülatörde birden çok cihazda uygulamayı test ettim. 32 bit çalışıyor, ancak 64 bit hata veriyor. Neden böyle? int ve NSInteger ben 64 bit farklı ama aynı olduğunu düşünüyorum - Error

+0

deneyin ile herhangi özellik bulunmamaktadır. –

cevap

9

Çözüm 1: Ben bir görünüm denetleyicisi yılında özellik olarak sayımı ilan etmişti . CountValue olarak yeniden adlandırdım ve sorun çözüldü.

Çözüm 2: Uygun veri türüne yazım yazabilirsiniz. [response count] içeren yerin 1000'ler vardı çünkü

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

Bu çözüm

benim durumumda mümkün değildi.

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]; 

} 

hata farklı türleri dönmek count denilen birden çok yöntem vardır anlaşılacağı aşağıda bir id olduğunu 32.

Düzeltmek için , bir döküm gerçekleştirin:

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

Değiştirilecek yaklaşık 1000'lerin olduğu için döküm için uygun değil ... Başka bir düzeltme var –

+1

Binlerce yer? Alternatifiniz diğer sayım yöntemini (muhtemelen kodunuzda) bulmak ve dönüş türünü değiştirmektir. Ama sayıyorsanız binlerce kimlik nesnesiniz varsa, bu yanlış geliyor. – jrturton

0

Çift yanıtınızı kontrol adıyla sayısı "sayısı" çağırmadan önce NSArray yanıtı döküm için

+0

sorunu varsa ne var? –