しかし、それはlastObjectを持っています、誰も知っている理由は?なぜNSArrayにfirstObjectメソッドがないのですか?
13
A
答えて
19
私の推測は、lastObject
が定型コードを減らすためです。現代のObjective-C構文を使用して[array objectAtIndex:array.count - 1]
またはarray[array.count - 1]
を置き換えるには、[array lastObject]
を使用します。
firstObject
の場合は、[array objectAtIndex:0]
またはarray[0]
をチェックするだけです。 これは、その機能をタイプアウトする代わりにlastObject
に電話をかけることを合理化するのに役立ちます。
更新
@Nathaniel Symerは、上記の彼のコメントで示唆したように、firstObject
は、以前に利用されているだけのプライベートAPIに(私は、iOS 4以降と考えています)。ただし、iOS 7 SDKのリリース時点で、firstObject
が公開されました。
関連する問題
- 1. なぜメソッドが遅いですか?
- 2. Silverlightのシステムオブジェクトにメソッドがないのはなぜですか?
- 3. なぜStringメソッドsubstring()がJavaのcamelCaseにないのですか?
- 4. Windows UniversalアプリケーションにXmlNode.SelectSingleNodeメソッドがないのはなぜですか?
- 5. Django ValuesListQuerySetにappend()メソッドがないのはなぜですか?
- 6. なぜObservableCollectionにRemoveAllメソッドがないのですか?
- 7. SerializationInfoにTryGetValueメソッドがないのはなぜですか?
- 8. ui-dialog、getTitleIdメソッドがプロトタイプリテラルにない、なぜですか?
- 9. なぜtxtDisplay()メソッドが見つからないのですか?
- 10. なぜ$ .postメソッドがIEで動作しないのですか?
- 11. なぜUnderscore.js chain()メソッドが怠惰ではないのですか?
- 12. NSDictionaryのNSArrayにXMLを解析する - エラー - なぜですか?
- 13. なぜc#bitmap setPixel()メソッドが機能しないのですか?
- 14. Convert.toFloat()メソッドがないのはなぜですか?
- 15. Android:なぜonClickメソッドが機能しないのですか?
- 16. なぜnewObjectメソッドが呼び出されないのですか?
- 17. メソッドがオーバーライドされないのはなぜですか?
- 18. メソッドが呼び出されないのはなぜですか?
- 19. POSTメソッドが機能しないのはなぜですか?
- 20. 私のメソッドにアクセスできないのはなぜですか?
- 21. NSArrayにオブジェクトを追加するのは漏れですが、なぜですか?
- 22. モジュールの '自己'メソッドがなぜクラスのシングルトンメソッドになれないのですか?
- 23. ArrayAdapterにarraylistのようなsetメソッドがないのはなぜですか?
- 24. CustomFieldSerializerに静的メソッドが必要なのはなぜですか?
- 25. なぜDataBind()メソッドが必要ですか?
- 26. なぜContinueWithメソッドが必要ですか?
- 27. c#にRectangleクラスのCenter()メソッドがないのはなぜですか?
- 28. デザイン時にカスタムボタンのInvalidate()メソッドが機能しないのはなぜですか?
- 29. スカラーの並列シーケンスにcontainsメソッドがないのはなぜですか?
- 30. メソッドがカスタム例外に入力しないのはなぜですか?
ブログ: http://troybrant.net/blog/2010/02/adding-firstobject-to-nsarray/ – zchenah
私の仲間の1人によると、実際には[NSArray firstObject]があります長い間、それはちょうど私的であった。 –
'-secondObject'や' -thirdObject'もありません。 – Caleb