LoginSignup
2
3

More than 5 years have passed since last update.

NSLogで数値を扱うとき

Posted at

とりあえず登録したら、何か投稿しないとということで・・・。
ありきたりなNSLogのことでも。
今更書くことでもないわ、ってネタですが。

NSInteger だったり CGFloat だったり、数値をログに出したいことはしょっちゅうあることで。

だいたいは

NSInteger foo = 12345;
NSLog(@"foo:%d", foo);

CGFloat bar = 123.45f;
NSLog(@"bar:%f", bar);

とかでしょうか。
32ビットの端末だとこれで問題ないです。

でも64ビットの端末だと

NSInteger foo = 12345;
NSLog(@"foo:%ld", foo);

CGFloat bar = 123.45f;
NSLog(@"bar:%lf", bar);

のようにしないと警告が出ます。

いちいちめんどくさいですよね。・・・めんどくさいですよね?
そこで、以下のようにすればどっちでも問題なくなります。

NSInteger foo = 12345;
NSLog(@"foo:%@", @(foo));

CGFloat bar = 123.45f;
NSLog(@"bar:%@", @(bar));

同じ書き方でいけるので楽です。

そろそろ32ビットも切られちゃうそうですね。(9to5mac
そうなると上記の話もまぁ、どうでもいいことになっちゃいますが。
そんなことよりテスト端末どうしよう・・・。
4sと5cしか持ってないよ・・・。

参考:
https://9to5mac.com/2017/01/31/ios-10-3-beta-32-bit-app-warning/;

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3