Ma ha un lastObject, qualcuno sa perché?Perché NSArray non ha un metodo firstObject?
risposta
La mia ipotesi è perché lastObject
riduce più codice di codice. Si utilizza [array lastObject]
per sostituire [array objectAtIndex:array.count - 1]
o array[array.count - 1]
utilizzando la sintassi Objective-C moderna.
Considerando che nel caso di firstObject
è possibile controllare semplicemente [array objectAtIndex:0]
o array[0]
. Aiuta semplicemente a semplificare le cose per poter chiamare lastObject
invece di digitare quella funzione.
Aggiornamento
Come @Nathaniel Symer suggerito nel suo commento di cui sopra, firstObject
è stato precedentemente disponibili, ma solo in privato API (credo dal iOS 4). Tuttavia, a partire dal rilascio di iOS 7 SDK, lo firstObject
è ora disponibile pubblicamente!
Stavo per dire la stessa cosa, l'ultimo oggetto effettivamente richiede l'oggetto con l'indice più alto, motivo per cui esiste un metodo di convenienza. – Pochi
Sì grazie. questo è molto possibile. Mi sento un po '"sbilanciato" quando uso sia [myArray objectAtIndex: 0] e [myArray lastObject] ... – zchenah
@NSPostWhenIo sicuro che lo farò :) ma mi permetta di aspettare un momento per vedere se ci sono altre idee – zchenah
- 1. Perché Map non ha un metodo mappa?
- 2. Perché ObservableCollection non ha un metodo RemoveAll?
- 3. Perché Collections.Generic.Queue non ha il metodo sincronizzato ma Collections.Queue ha?
- 4. Ember - Reindirizza automaticamente a firstObject
- 5. Perché java.util.HashSet non ha un metodo get (Object o)?
- 6. Perché Android Wear DataMap non ha un metodo putIntArray?
- 7. Perché il linguaggio Python non ha un metodo writeln()?
- 8. NSArray initWithObjects: non caricano
- 9. AtomicBoolean non ha un metodo negate()?
- 10. TypeError HTMLSpanElement non ha un metodo 'html'
- 11. videojs oggetto non ha un metodo addEvent
- 12. oggetto non ha un metodo datepicker
- 13. HttpWebRequest non ha un metodo simile?
- 14. Java Opzionale perché non un metodo ifNotPresent?
- 15. Perché non esiste un metodo Convert.toFloat()?
- 16. Perché Array.prototype.reduce non ha un parametro thisObject?
- 17. Perché Scala non ha un decltype?
- 18. Perché enable_shared_from_this ha un distruttore non virtuale?
- 19. Perché .NET non ha un enumeratore bidirezionale?
- 20. Perché non Createfile() ha un flag binario
- 21. Perché PHP non ha un costruttore predefinito?
- 22. Perché Elixir non ha un modulo Math?
- 23. Come estendere un NSArray?
- 24. HTMLCanvasElement non ha metodo 'toDataUrl'
- 25. C#: Perché LinkedList non ha un metodo RemoveAll che accetta un predicato?
- 26. Environment.GetCommandLineArgs - perché è un metodo? Perché non una proprietà?
- 27. Uncaught TypeError: Object [object Object] non ha un metodo 'live'
- 28. Perché ICollection non contiene un metodo Aggiungi?
- 29. Perché jQuery non fornisce un metodo .firstChild?
- 30. json.net ha un metodo chiave?
c'è anche un blog: http://troybrant.net/blog/2010/02/adding-firstobject-to-nsarray/ – zchenah
Secondo uno dei miei amici, c'è stato effettivamente un - [NSArray firstObject] per da molto tempo, è solo stato privato. –
Non ha nemmeno "-secondObject" o "-thirdObject". – Caleb