web-dev-qa-db-ja.com

Xcode 6.1:「count」という名前の複数のメソッドが見つかりましたが、結果、パラメータータイプ、または属性が一致していません

appのビルド中に、「count」という名前の複数のメソッドが見つかりましたが、結果が一致せず、パラメータータイプまたは属性エラーが発生しています。アプリは32ビットで問題なく動作していました。 Appleガイドライン に従って64ビットに変更しました。私はこれを参照しました Link ですが、助けはありません。

私はシミュレータ上の複数のデバイスでアプリをテストしました。 32ビットでは問題なく動作しますが、64ビットではエラーが表示されます。なぜそうなのですか。

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

}

Error

20

ソリューション1:宣言しましたビューコントローラのプロパティとしてカウント。名前をCountValueに変更すると、問題は解決しました。

ソリューション2:適切なデータ型に型キャストできます。

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

私の場合、[response count]を含む場所が1000か所あったため、この解決策は実行できませんでした。

11
if([response count]>0)

responseidです。このエラーは、異なるタイプを返すcountという複数のメソッドがあることを示唆しています-intNSInteger 64ビットでは異なりますが、32ビットでは同じです。

修正するには、キャストを実行します。

if([(NSArray*)response count]>0)
25
jrturton

countという名前のプロパティはありますか?

0
PVCS