Il modo più semplice per memorizzare una piccola quantità di dati sul dispositivo è utilizzare NSUserDefaults. Ma solo gli elenchi di proprietà potrebbero essere salvati in questo modo. Un elenco di proprietà è una combinazione di oggetti di 6 tipi, NSNumber, NSString, NSArray, NSDictionary, NSDate, NSData. Nel tuo caso è facile da fare. Ad esempio, per salvare un nuovo record del debito è possibile utilizzare il metodo seguente:
#define DEBTS_LIST_KEY @"listOfAllDebts"
#define DEBTOR_NAME_KEY @"debtorName"
#define DEBT_AMOUNT_KEY @"amountOfDebt"
-(void) saveDebt:(CGFloat) debtAmount forName:(NSString *) debtorName
{
// pointer to standart user defaults
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
// the mutalbe array of all debts
NSMutableArray * alldebtRecords = [[defaults objectForKey:DEBTS_LIST_KEY] mutableCopy];
// create new record
// to save CGFloat you need to wrap it into NSNumber
NSNumber * amount = [NSNumber numberWithFloat:debtAmount];
NSDictionary * newRecord = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:amount,debtorName, nil] forKeys:[NSArray arrayWithObjects:DEBT_AMOUNT_KEY, DEBTOR_NAME_KEY, nil]];
[alldebtRecords addObject:newRecord];
[defaults setObject:alldebtRecords forKey:DEBTS_LIST_KEY];
// do not forget to save changes
[defaults synchronize];
}
Per readList di debiti che avete letto qualcosa di simile.
Tuttavia, vi consiglio di utilizzare i dati di base. È più flessibile e non dovrai scrivere tutto questo codice per gestire i tuoi dati (per modificare i record esistenti o per eliminarli). Sarai in grado di estendere il tuo modello molto più facilmente, ad esempio, quando vuoi salvare la data del debito. Questo è il collegamento a a good tutorial
Quanti record si prevede di salvare? – Gruntcakes
Quello definito dall'utente - quindi non posso sapere (potrebbe essere solo 4 - ma anche 300). Dipende dall'utilizzatore. – H3rrVorr4g3nd