4

ここでIphoneでポップオーバーを作成する方法に関するチュートリアルに従っています

(overrides)このコードは何ですか:

@interface UIPopoverController (overrides)
  + (BOOL)_popoversDisabled;
@end

@implementation UIPopoverController (overrides)

  + (BOOL)_popoversDisabled 
  { 
     return NO;
  }

@end
4

2 に答える 2

3

Jasper Blues の回答はカテゴリをうまく説明しているので、カテゴリを追加するクラスのメソッドをオーバーライドするためにカテゴリを使用しないようにする必要があることを付け加えておきます。その理由は、カテゴリがクラスに追加される順序が定義されていないため、クラスがメソッドのバージョンを取得するか、別のカテゴリで定義されたバージョンを取得するかを確実に知ることができないためです。クラスのメソッドをオーバーライドする必要がある場合は、サブクラスを作成し、そこにオーバーライドを配置します。

ただし、カテゴリを使用してクラス定義のメソッドを整理することがあります。この場合、overridesカテゴリ内のメソッドはおそらくスーパークラス内のメソッドをオーバーライドすることを意図していますが、これは問題ありません。

于 2013-04-23T03:30:29.953 に答える