NSArray型の変数で、“格納されている最後のオブジェクトを取得する”場合、
・[myArray lastObject]
・[myArray objectAtIndex:(NSUInteger)lastIndex]
の2つのやり方が、大体思い浮かびます。
lastIndexが信用できる(ようにちゃんとコーディングしている)なら、どちらでもいいでしょう。
むしろ、コードの流れからobjectAtIndexを使うのが必然のような気がする場合も多いように思います。
しかし、ちょっとした“安全性”という視点から眺めると、どうやらlastObjectを使った方が良さそうな・・・そんな気がします。
lastObjectはmyArrayの最後のオブジェクトを戻します。
もしmyArrayが空だったらどうなるのでしょう?
答えは「nilを戻す」です。
では、objectAtIndexを使った場合に、もし“存在しないindex”を渡しちゃったらどうなるでしょう?
答えは「クラッシュする」です。
正確に言えば「NSRangeExceptionが発生する」のですが、私はExceptionを制御の目的で使う思想には反対なので、Exceptionはクラッシュと同等だと思っています。
ここら辺はリファレンスに書いてあります。
さて、話題が変わりますが、「iPhoneアプリ開発の素晴らしい教材」を紹介しましょう。
ここ(リンク)をクリックして、右上の「Open Stanford on iTunes U」をクリックします。
iTunesが立ち上がり、多くのコンテンツが表示されます。
この中の
・Developing Apps for iOS(SD) (Fall 2010)
・iPad and iPhone Application Development(HD) (Fall2011)
・Coding Together:Developing Apps for iPhone and iPad(Winter 2013)
の3つのコンテンツを購読しましょう。
特に最後のコンテンツは「2013年3月20日」の授業です。こんな最新の授業を公開するなんて、素晴らしいの一言ですね。
ちなみに今回のネタは
「Coding Together:Developing Apps for iPhone and iPad(Winter 2013)」の「3.Objective-C(January 15,2013)」の「48分30秒あたり」で説明している内容です。
谷中
最新記事 by 谷中 (全て見る)
- iMacでISOイメージからCD/DVDを焼く - 2014年6月10日
- 【簡単】VMイメージを複製した時のネットワーク設定 - 2014年5月2日
- 【社内勉強会】「破壊的イノベーションを学び、具体的なビジネスモデルを書きあげる」を開始しました - 2013年6月26日
0 Comments.