7
Sono un po 'nuovo per Cocoa e stavo leggendo su NSIndexSet
. Perché è necessario? Mi sembra che lo NSIndexSet
non sia altro che uno NSSet
di interi, giusto? Qual è lo scopo di creare una collezione separata nel complesso?Qual è la differenza tra NSIndexSet e NSSet?
Per elaborare il numero 2, NSIndexSet consente di scorrere gli indici in ordine o in ordine inverso. Un NSSet non è ordinato e un NSOrderedSet viene ordinato manualmente (ovvero è possibile interrompere l'ordine inserendo un oggetto nella posizione errata). –
Capito. Un'altra cosa che ho appena notato. NSIndexSet utilizza effettivamente NSRange per memorizzare indici consecutivi, anzi molto ottimizzati per l'archiviazione del valore dell'indice in altre raccolte. – Tony
Le operazioni su 'NSSet' sono O (1) (hashing), mentre la maggior parte delle operazioni' NSIndexSet' sono O (N) (looping). –