Objective-C アドレスを表示する

公開: 2016-02-02 23:20
更新: 2016-04-29 06:03

どうもこんにちは。あっきぃです。

コンビニ飯のお釣りがめんどくさいのでWAONカードを導入しました。

犬がかわいいです。あとあっきぃ、WAONカードの「ワオンッ」の鳴きまねが上手いです。



「ワオンッ」



というこでオブジェクトのアドレスを見たいです。

試しにNSLogに「%@」でオブジェクト全体を見てみましょう。


UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1, 1)];
NSLog(@"%@", v);

するとこんな感じ。

<UIView: 0x12939f3e0; frame = (0 0; 1 1); layer = <CALayer: 0x127fbaa00>>

これの「0x12939f3e0」の部分だけ欲しいのです。

デバックとかで、このオブジェクトとオブジェクトを比較したいときとかに使えます。

(見た目同じなので実は2個生成してた!とか、別のオブジェクト入れてた!!とかとかの発見に。)


NSLogに%pを使う

という訳で回答です。

NSLogに「%p」を使えば良いだけです。


UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1, 1)];
NSLog(@"%p", v);

こうすっと...

0x12939f3e0

うむ。良い感じじゃ。



「%@とか%pとか%lfとか色々あるんだなーっ」



と、思った方は暇な時にAppleのドキュメントを見てみましょう。

何か新しい発見があるカモ。

⇒ String Format Specifiers - Apple Developer



この記事をシェア
この記事にコメントする
書き込む
あっきぃ(@appstars_aki)
Web、iOSなフリーランサーです。好きなものはお寿司です。でもお寿司は高いので普段は雑草とか拾ったドングリを食べています。お仕事や意味もなく毎月お小遣いをくれる人を探してます。

お仕事の依頼や自分で作ったアプリのレビューを希望しちゃう方はaki@appstars.jpまでご連絡ください。