2017-04-27 4 views
0

古いコードを更新しようとしたので、 "一致しない結果、パラメータタイプ、 64ビット、コードです。"tag"という複数のメソッドが、結果、パラメータタイプ、または属性が一致していないと見つかりました。

- (IBAction)undoClick:(id)sender 
{ 
    [(AppDelegate *)[[UIApplication sharedApplication] delegate] playSoundEffect:0]; 

    for(UIView *view in [self.bigView subviews]) 
    { 
     if(view.tag == lastTag) 
      [view removeFromSuperview]; 
    } 

    if([[extraList lastObject] tag] == lastTag) // Here is error 
     [extraList removeLastObject]; 

    if(lastTag > 1) 
     lastTag--; 
} 

問題のある行がマークされているが、ここでもFYI

if([[extraList lastObject] tag] == lastTag) 
+1

extraList @Hypergater –

+0

こんにちはにおけるデータの種類を簡単な使用よりも文字列である場合は、あなたの整数値がこの

if([extraList lastObject]integerValue] == lastTag) { // logic here } 

と比較していると思います、それは 'extraList = [[NSMutableArray alloc] init]; ' – Hypergater

+0

あなたがタグを使うときにラベル、uibuttonなどのようにそれをどのような種類のデータに保存するのですか? –

答えて

2

私はextraListが通常NSArrayされ、その後lastObjectがタイプidであることを推測します。 extraListUIViewのインスタンスしか含まれていない場合は、の宣言をNSArray *extraListからNSArray<UIView *> *extraListに変更してください。これにより問題が解決するはずです。

これは近代化されたObjective-C APIの一部であり、ジェネリックス(限られた範囲にもかかわらず)を許可します。

+0

こんにちは'extraList = [[NSMutableArray alloc] init];' – Hypergater

+0

ありがとうございますが、あなたのextraListの宣言は何ですか?それは@propertyまたはローカル変数ですか?型を 'NSMutableArray *' –

+0

に変更しようとしています。こんにちは、変数NSMutableArray * extraList; – Hypergater

0

私はlastTagは最後のタグは、この

if([[extraList lastObject]isEqualToString: lastTag]) 
{ 
    // logic here 
} 
関連する問題