2011-08-10 15 views
2

変数fullscreenControllerはnilですが、nilではありませんか?if-sentenceトリガーはどのようにすることができますか?

EDIT:デバッガとコンソールの両方の出力で、変数がnilですが、if文がまだトリガされています。

Code

Console log

+0

私はこの同じ問題を何度か経験しましたが、怒っていました。残念ながら、その解決策が何であったか覚えていません。 Xcode/computer/device(デバイスの場合)を再起動してみてください。 あなたのケースでは、if文が本当にそこにある必要はありませんが。それが無ければ、それにリリースを送ることは必ずしも何かを傷つけるわけではありません。 –

+1

その前に '! 'がありませんか?それは真実ではありません。 – sidyll

答えて

4

これはシングルスレッドアプリケーションであることができませんでした。しかし、コードのその部分に着くまでには、それが無理だろうと思います。しかし、私はこれがカット・アンド・ペーストのエラーか、あるいは考えていないということのどちらかと思われます。

+0

はい、私は知っています、それは両方にすることはできません。 :-)しかし、私は説明の可能性を探していただけで、あなたは1つか2つを思いついた。 – OMH

0

もう1つの考えられる原因は、弱い参照をゼロにすることですです。あなたのローカルスレッドがfullscreenControllerへの弱い参照だけを保持し、最後の強い参照が解放されると、弱めの参照のゼロはすべてゼロになります。これは、ifテストとブランチ本体コードの間で発生する可能性があります。

ZWRは自動的に参照カウントされたコードでよく使用されるため、この種の問題はiOS 5とLionではより規則的になります。少なくとも、人々がARCの使用方法を正確に理解するまで。

0

すべてをクリーンにして再構築してください。ソースコードが実行可能ファイルとステップから離れている可能性があります。

また、リリースビルドをデバッグしようとしていないことを確認してください。リリースビルドの最適化によって、ソースビューがデバッガで混乱することがあります。

関連する問題