2012-10-25 12 views
13

Ma ha un lastObject, qualcuno sa perché?Perché NSArray non ha un metodo firstObject?

+0

c'è anche un blog: http://troybrant.net/blog/2010/02/adding-firstobject-to-nsarray/ – zchenah

+3

Secondo uno dei miei amici, c'è stato effettivamente un - [NSArray firstObject] per da molto tempo, è solo stato privato. –

+2

Non ha nemmeno "-secondObject" o "-thirdObject". – Caleb

risposta

19

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!

+1

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

+0

Sì grazie. questo è molto possibile. Mi sento un po '"sbilanciato" quando uso sia [myArray objectAtIndex: 0] e [myArray lastObject] ... – zchenah

+0

@NSPostWhenIo sicuro che lo farò :) ma mi permetta di aspettare un momento per vedere se ci sono altre idee – zchenah

Problemi correlati