3

例として、プロパティにアクセスするたびに警告を生成したいと考えてい-[UIViewController navigationController]ます。

不思議なことに、その理由は、私がカスタム ナビゲーション コントローラーを使用していて、私 (またはプロジェクトの他の開発者) がこのプロパティにアクセスしようとしたときに警告を受けたいからです。

4

2 に答える 2

2

カスタムゲッターを作成し、非推奨として宣言することができます。

- (UINavigationController*)navigationController __attribute__ ((deprecated))
{
    // do something
}

この方法では、誰かがこのゲッターに電話をかけようとしたときにのみ、警告が表示されます。

于 2012-11-07T13:35:44.517 に答える
2

頭に浮かぶ唯一のことは、UIViewController をサブクラス化し、プロジェクト内の他のビュー コントローラーのベースとしてカスタム サブクラスのみを使用することです。このようにして、メソッドをオーバーライドし、#warning を使用してプリプロセッサに診断を発行させることができます。(以下で説明するように、#warning は実際には機能しません。代わりに、オーバーライドされたメソッドにコードを記述して、適切と思われる診断を生成する必要があります。) おそらく、カスタム ナビゲーション コントローラーは、そのコンテンツ コントローラーが正しいベースに属していることを確認できます。クラス。

それをバイパスするのは些細なキャストですが、ポイントが偶発的な使用を防ぐことである場合、何らかの価値があるかもしれません。

于 2012-11-06T16:43:11.953 に答える