Allied ArchitectsAllied ArchitectsEngineer Blog

追加されたリテラル構文、使ってますか?

2014/03/13 Objective-C

こんにちは、happy_ryo です。
最近、Python を勉強してます。

NSString 以外にもリテラル構文が追加されて結構たちますが、使ってますか?ぼくはたまに忘れます。とある人が、追加されたリテラル構文での書き方を21世紀っぽいと言っていたので、21世紀を生きるプログラマとしてやっていく為に、今回は Objective-C のリテラル構文をおさらいしてみようと思います。

生成編

数値(NSNumber)

従来の書き方

21世紀の書き方

補足

例以外にも、 [NSNumber numberWith~:] 系の物もリテラル構文を利用して NSNumber *boolNumber = @NO; この様な形でインスタンスを生成する事が出来ます。

辞書(NSDictionary)

従来の書き方

21世紀の書き方

補足

従来は、オブジェクト:キーだった並びが、21世紀になると、キー:オブジェクトになって、直感的になりました。また、従来は最後に nil を入れる必要があった部分が不要になっています。

配列(NSArray)

従来の書き方

21世紀の書き方

補足

NSDictionary と同様に、最後尾に nil を入れる必要がなくなりました。

要素へのアクセス編

辞書(NSDictionary)

従来の書き方

21世紀の書き方

補足

従来はメソッドへメッセージを送る方式で冗長だったのが、リテラル構文を使うことでシンプルに書くことが出来るようになりました。

配列(NSArray)

従来の書き方

21世紀の書き方

補足

Dictionary と同様に、添え字参照が行えるようになった事で、大分シンプルに書くことが出来るようになった。

おまけ

リテラル構文を用いて、ミュータブルなインスタンスを生成したい場合は、以下のように書くことで簡単に実現出来ます。

この手の文法は、手が覚えているせいか、ついつい以前から使っている物を使いがちなので、意識して使っていきたいですね。

happy_ryo
  • happy_ryo
  • えんじにあ
  • 営業→工場で作業→Word&Excel→Java→shellscript→Java→PHP→Python→Objective-C→Swift→PHP→JavaScript←イマココ 最近 Ruby はじめました。

RELATION ENTRY

Laravel の Eloquent の Factory について調べて見た

Laravel の Eloquent の...

2017/08/15 PHP

こんにちは、happy_ryo です。仕事で Laravel を書くことが増えた事により、Laravel に関して調べる機会がぼちぼちあるのですが、今回はテストの時にダミーのデータを持ったインスタンス作成するときに利用する Eloquent の Factory(以下 Factory) が、どのように...

続きを読む

Vue.js でファイルをポストしたいとき

Vue.js でファイルをポストしたいと...

2017/03/13 Vue.js

お久しぶりです、気を失っている間に iOS エンジニアではなくなっていた happy_ryo です。 意識を取り戻してからは Instagram と Twitter の API をガンガン叩きながら、Laravel と Vue.js たーのしー!している毎日です。 表題の通り、Vue.js で i...

続きを読む

happy_ryoの記事一覧へ

ページTOPへ