この行で次のアナライザ警告が表示されます...
if ([datStartDate compare:now] == NSOrderedDescending) {
Receiver in message expression is an uninitialized value
コード行は IBAction の途中にあります。
私は何を間違っていますか?
この行で次のアナライザ警告が表示されます...
if ([datStartDate compare:now] == NSOrderedDescending) {
Receiver in message expression is an uninitialized value
コード行は IBAction の途中にあります。
私は何を間違っていますか?
(左側のエラー ナビゲーターで) エラーの横にある開示用三角ボタンを展開すると、値が初期化されていない状況につながる正確なコード パスが表示されます。
「でも、アナライザー、本当に、そんなことはあり得ない」と思うかもしれません。それは正しいかもしれませんが、バグや意図的な変更により、将来的に当てはまらない可能性のある仮定をコードに作成しています。これにより、コードベースの脆弱性が増し、メンテナンスの頭痛の種になります。
明示的であるようにコードを修正し、仮定を削除します。
datStartDate
まだ初期化されていない状態でこの行につながる可能性のあるコード パスが少なくとも 1 つあります。つまり、オブジェクトを に割り当てたことがなく、 にも割り当てていdatStartDate
ませんnil
。