日々精進

新しく学んだことを書き留めていきます

AppCodeのWatchesに式を入れると「Property 'aVariable' not found on object of type id」のようなエラーが出る

AppCodeは非常にいいIDEで愛用してるけど、ウォッチウィンドウに式を入れても「Property 'aVariable' not found on object of type id」となって値が確認できないことが多いのが難点だった。
この問題について調べたら↓が見つかった。
objective c - Property '' not found on object of type 'id' - Stack Overflow
原因はプロパティを解決できないことらしい。なぜかはよくわからない。上記サイトではid型だと型がわからないから解決出来ないと書いてあるけど、AppCodeのウォッチウィンドウで試してみたらid型オブジェクトのプロパティ呼び出しでない場合でもエラーになった。
解決策はドット記法でなく、メッセージ式にすること。
例えば、self.superViewだとエラーになるが[self superview]ならOK。


ドット記法の方が書きやすいんだけどなぁ。。なんでプロパティはだめでメッセージ式はいいんだろう。納得できない