お?いけるくさい?

iPhoneアプリエンジニアのたまごです。いっちょまえエンジニア目指してちいさな発見や学んだことを覚え書きしていきます!Objective-C/iOS/開発

いろんな学び①〜数字まわり編!〜

最近いろいろなことを知ることがあったので

まとめれるうちにまとめとかないと忘れちゃいそうなのでメモ!

-------------------------------------------------------------------------------------

◎NSNumber型のメリット

今回CoreDataを使ったプログラムを作っていて

managedObjectに使うことになりました。

でもNSNumber型って扱いにくくて嫌いだったので、

なんでもかんでもNSString型でいーや、どーせJSONでやりとりするし!

て思っていたのです。

が、このNSNumber型、メリットもあるらしい。

 

1、コンパクトサイズ

なにやら、ローカルに保存するときに、

String型よりもInteger32(32bit?)であるNSNumberで保存すると

容量がちっさくて済むとのこと。

 

2、数字の役割もちゃんとある

NSString型で足し算ってできないですよね。

(やるとしたら一回intValueして〜とか)

これがNSNumber型だと出来ちゃうとかいう噂。

※あくまでも私はまだ使ったことない。

-------------------------------------------------------------------------------------

 ◎Let's変換

【NSString→NSNumber】

1、まずはint型に変換しましょう(忘れがち)

、そのintをNSNumberに変換するだけ あら簡単!

 

(例)NSString* str = @"123";

NSNumber* number = [NSNumber numberWithInt: [str intValue]];

 

とかでOKね。

これをさらに簡略化できるそうな!!

 

NSNumber* number = @( [str intValue] ); ←これ @( )!!

 

では逆はというと。

【NSNumber→NSString】

 

NSString* str = [@(123) stringValue];

 

これでできるそうな。

(何も知らずこれだけ見たらなんじゃこれって感じの世界やなーと改めて思ったわ。)

-------------------------------------------------------------------------------------

まだまだメモりたいことたくさん!では!