Break Pointはいいぞぉ〜!と、Xcode|break pointで遊ぼう!|設置編の続きです。
今回は、Break PointをNSLogみたく使っちゃいます!
環境
Xcode : 7.2.1
Mac OS X : 10.11.3
コマンドを使用して値を表示させる
今回、使用するサンプルコードはbuttonを押すと呼ばれる以下のコードを使用
- (IBAction)buttonAct:(id)sender { UIButton *buttonSender = (UIButton *)sender; if (buttonSender.tag == 1) { [self buttontagAction]; } }
buttonのtagの値は1に設定
buttonを押してbuttonのtagの値で動作を振り分けます。
BreakPointは31行目(30行目は×)
buttonSender.tagの値が何なのか?
break pointで一時停止させてLLVMのコマンドを使用してbuttonSender.tagの値を表示させて確認を行います。
シミュレーターを実行しボタンを押すとbuttonAct(id)senderが呼ばれてbreak pointで停止しました。
なんか色々表示されていますが、右側の(lldb)が表示されている枠をクリックします。
“po buttonSender”とコマンドを入力してリターン
表示した内容をよく見ると “tag = 1″と表示されていますのでtagだけを表示させたいので
“po buttonSender.tag”とコマンドを入力してリターン
tagの値が”1″とわかりました。
この様にして値を調べていきます。
次は、NSLogみたく表示させていきます。
Break PointなのにNSLogみたく表示させる
ここからがBreak Pointの上手な使い方だ!
Break PointをEditします
“Edit Breakpoint…”を選択
“Add Action”をクリック
“Log Message”をクリック
これで基本が完成しましたのでメーッセージを表示させていきます
1.メッセージを表示
ログコンソールに”ボタンが押されました”と表示させてみましょう。
1.”ボタンが押されました”と入力
2.Log message to consoleにチェック
3.Automatically continue after evaluating actionsにチェックで一時停止なし
では、シュミュレータのボタンを押してみましょう!
一時停止せずに、”ボタンが押されました”が表示されたら成功です。
余談ですが、Speak messageにチェクを入れるとMacが話します。
2.メッセージと値を表示
値が表示されていないのでまだまだNSLogぽくないですね
次は、メッセージと値を表示させます
メッセージ欄に”ボタンが押されました値は@buttonSender.tag@です”と記入します
では、シミュレーターのボタンを押してみましょう。
この様に表示されれば成功です。
間違っていると以下の様にエラーメッセージが表示されます。
3.条件付きでメッセージを表示
tagの値が1の時だけメッセージを表示させます。
Conditionの欄に”buttonSender.tag == 1″を入力
buttonSender.tagが1の時のみメッセージが表示されます。
4.コマンドを使用して値を表示
いつコマンド使うんだ?て、思っちゃいましたね(^_^;
最後は、コマンドを使用してtagの値を表示させます。
1.”+”を押ししてActionを追加
2.”Debugger Command”を選択
3.コマンド”po buttonSender.tag”を入力
では、シュミュレータのボタンを押してみましょう!
tagの値”1″が表示されたら成功です。
まとめ
break pointは結構使えるな!て、わかってもらえましたでしょうか?
もっともっと色々な機能がありますが、あとは各自いじってみてください。
コメント