私は以下のような方法がある場合:_VIEWはオブジェクトへのポインタであるオブジェクトがnilの場合に返されるメソッドの明示的なチェック?
-(BOOL)shouldResize {
return _view != nil;
}
を、お勧めします/必要に応じて明示的にnilのチェックである、またはそれは単に行うに十分なものである:
-(BOOL)shouldResize {
return _view;
}
いずれかの奇妙な振る舞いはここでの例のように、BOOLへのポインタをキャストにポップアップする可能性がある場合、私は思ったんだけど:https://developer.apple.com/documentation/objectivec/bool?language=objc
(私はあなたにも、右return !!_view
を行うことができると思います?)
FYI - 2番目のコードセットは、 'BOOL'変数を' NO'や 'YES'と直接比較してはいけません。単に 'if(someBool)'や 'if'(!someBool) 'を実行するだけです。 'if(someBool == YES)'や 'if(someBool == NO)'や '!='と似ていると、見つけにくいバグで失敗するかもしれません。 – rmaddy
興味深いことに、チップのおかげで!最初に、そのような不具合が発生するはずですが、ちょっと壊れたようです。 – dobse
どのようなバグですか?この問題は、 'BOOL'をゼロと非ゼロとして扱うときだけです。 'BOOL'はゼロと非ゼロではなく' NO'と 'YES'だけでなければなりません。ここでの唯一のバグは、オブジェクトポインタを 'BOOL'として扱う2番目のコード例です。 – rmaddy