Sto creando una semplice app "trova una delle nostre posizioni" per iOS 4, per la quale ho un elenco di > 70 posti, completo di indirizzi, orari di lavoro, ecc. È meglio mettere tutto questo dati in un grande plist o molti piccoli?
Dati principali o sqlite sarebbe probabilmente la scelta migliore, ma tra le due opzioni menzionate, preferirei una grande plist su molte piccole. Mantenere e rintracciare 70 file è probabilmente molto più incline a errori di uno, e il codice di caricamento sarebbe molto più facile con uno anche (è possibile caricare l'intero file in un NSArray o NSDictionary grande con solo un paio di linee di codice).
L'ottimizzazione prematura è la radice di tutti i mali. Fai tutto ciò che è più semplice / più semplice (dipende dalla forma in cui si trovano i dati) e poi guarda come si comporta. Anche 70 articoli probabilmente non occuperebbero molta memoria (ammesso che fosse tutto testo e niente immagini), e non sarei scioccato se una ricerca lineare ingenua è abbastanza veloce quando trovi la posizione più vicina. E se non è abbastanza veloce, probabilmente è una ricerca binaria. (In effetti, se si memorizzassero tutti e 70 in un array, quindi si creassero due array "index" che sono solo gli indici del primo array, ordinati rispettivamente per latitudine e longitudine, probabilmente si eseguirà altrettanto bene come un database SQLite in piena regola .)
Leggi altre domande sui tag ios objective-c