Тьфу.Страшный и запутанный код.Во-первых: используйте это для загрузки вместо:
NSString* path = [[NSBundle mainBundle] pathForResource:@"savebudget" ofType:@"plist"];
NSDictionary* amountData = [NSDictionary dictionaryWithContentsOfFile: path error: NULL];
if (amountData) {
self.amounts = [NSMutableArray arrayWithArray: amountData];
}
Обратите внимание, что здесь нет retain или alloc / init, потому что вы присваиваете сохраняющему свойству.1007 * Вы читаете список, который, как вы говорите, содержит массив словарей.Но затем, когда вы добавляете данные, вы пытаетесь записать один единственный словарь в тот же список.
Кроме того, в вашем методе addData
вы фактически не добавляете никаких данных.
И... Если вы загружаете свои исходные данные из пакета вашего приложения, то вы должны записать их обратно в каталог ~/Documents
после изменения.И, конечно, прочитайте его оттуда при следующем запуске приложения.