Xcode|break pointで遊ぼう!|NSLogみたく使用する編

スポンサーリンク
おちゃめ

20160228_000

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の値で動作を振り分けます。

20160229_001

BreakPointは31行目(30行目は×)
buttonSender.tagの値が何なのか?
break pointで一時停止させてLLVMのコマンドを使用してbuttonSender.tagの値を表示させて確認を行います。

シミュレーターを実行しボタンを押すとbuttonAct(id)senderが呼ばれてbreak pointで停止しました。

20160229_002
なんか色々表示されていますが、右側の(lldb)が表示されている枠をクリックします。

 

20160229_003
“po buttonSender”とコマンドを入力してリターン

 

20160229_004表示した内容をよく見ると “tag = 1″と表示されていますのでtagだけを表示させたいので

“po buttonSender.tag”とコマンドを入力してリターン

 

20160229_005

tagの値が”1″とわかりました。

この様にして値を調べていきます。

次は、NSLogみたく表示させていきます。

Break PointなのにNSLogみたく表示させる

ここからがBreak Pointの上手な使い方だ!

Break PointをEditします

20160229_006

“Edit Breakpoint…”を選択

 

20160229_007

“Add Action”をクリック

 

20160229_008

“Log Message”をクリック

これで基本が完成しましたのでメーッセージを表示させていきます

1.メッセージを表示

ログコンソールに”ボタンが押されました”と表示させてみましょう。

20160229_010

1.”ボタンが押されました”と入力
2.Log message to consoleにチェック
3.Automatically continue after evaluating actionsにチェックで一時停止なし

では、シュミュレータのボタンを押してみましょう!

一時停止せずに、”ボタンが押されました”が表示されたら成功です。

余談ですが、Speak messageにチェクを入れるとMacが話します。

2.メッセージと値を表示

値が表示されていないのでまだまだNSLogぽくないですね
次は、メッセージと値を表示させます

20160229_014

メッセージ欄に”ボタンが押されました値は@buttonSender.tag@です”と記入します

では、シミュレーターのボタンを押してみましょう。

 

20160229_015

この様に表示されれば成功です。

間違っていると以下の様にエラーメッセージが表示されます。

20160229_019

3.条件付きでメッセージを表示

tagの値が1の時だけメッセージを表示させます。

20160229_016

Conditionの欄に”buttonSender.tag == 1″を入力

buttonSender.tagが1の時のみメッセージが表示されます。

4.コマンドを使用して値を表示

いつコマンド使うんだ?て、思っちゃいましたね(^_^;
最後は、コマンドを使用してtagの値を表示させます。

20160229_017

1.”+”を押ししてActionを追加
2.”Debugger Command”を選択
3.コマンド”po buttonSender.tag”を入力

では、シュミュレータのボタンを押してみましょう!

 

20160229_018

tagの値”1″が表示されたら成功です。

まとめ

break pointは結構使えるな!て、わかってもらえましたでしょうか?

もっともっと色々な機能がありますが、あとは各自いじってみてください。

 

コメント

タイトルとURLをコピーしました