その他
    ホーム 技術発信 DoRuby カテゴリで既存メソッドを拡張しようとすると表示されるwarningの対応

    カテゴリで既存メソッドを拡張しようとすると表示されるwarningの対応

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    最近はiPhoneアプリ開発をさせてもらっているのですが、
    いつからか(下記参考リンクによるとXcode4.3かららしいですが)、カテゴリを利用して既存クラスの既存メソッドを拡張(上書き)しようとすると

    
    "category is implementing a method which will also be implemented by its primary class"
    

    というwarningメッセージが表示されるようになりました。

    やはりwarningメッセージを出しっぱなしだと気持ち悪いので、表示させない方法を調べたところ

    
    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"
    
    // 拡張したいメソッドを記述
    
    #pragma clang diagnostic pop
    

    と #pragmaで囲むと表示されなくなります。

    参考サイト

    記事を共有