1

10.8 で開発したアプリがあり、現在は 10.7 でコードを実行しようとしています (これが OSX の問題であることがわかる限り)。残念ながら、次のコードは機能しなくなりました。

dataViewController.dataObject = self.pageData[index];

これは、現在のページ データが読み込まれる dataview コントローラー内のオブジェクトです。これは生成されたコードの一部のようです (私の記憶が正しければ)。この問題を回避する方法がわかりません。古いバージョンでこの問題にどのように取り組みますか? 少しあいまいで申し訳ありません...どんな助けでも大歓迎です!

4

1 に答える 1

1

使用したブラケット構文は新しいコンパイラ機能です。array[idx]メソッドの呼び出しとして解釈されます'[array objectAtIndexedSubscript:idx]

残念ながら、メソッド- objectAtIndexedSubscript:自体は新しいバージョンの SDK にのみ含まれているため、実行時に「オブジェクトがセレクターに応答しません」というエラーが発生します。

修正するには、NSArray(および同様に、forNSDictionaryおよびその他) のカテゴリを作成し、メソッドを追加します。

- (id)objectAtIndexedSubscript:(NSUInteger)idx {
  return [self objectAtIndex:idx];
}
于 2012-11-15T23:09:30.747 に答える