コードを書いていてwarningを抑制したい時があると思います(deprecated warningなど)。clangでは一時的にwarningを制御する事ができます。
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
NSString *caption = @"hoge";
captionHeight = [caption sizeWithFont:captionFont constrainedToSize:CGSizeMake(320, CGFLOAT_MAX) lineBreakMode:NSLineBreakByWordWrapping].height;
#pragma clang diagnostic pop
clang diagnostic push
とclang diagnostic pop
で挟めばOKです。warningを一時的に無効にしているのは
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
の部分です。-Wdeprecated-declarations
がdeprecated warningを無視するようにしています。よく使うのは
ignored parameter | 内容 |
---|---|
-Wunused-variable | 未使用変数へのwarning |
-Wdeprecated-declarations | 廃止予定の関数呼び出しへのwarning |
ぐらいでしょうか。ignored parameterの調べ方はXCodeのナビゲーションバーに表示されているWarning上でCtrl+Clickで'Reveal in Log'を選択すると
warning: unused variable 'a' [-Wunused-variable]
と出てくるので調べられます。