PropertyList Dosyasına Veri Yazdırma Sorunu
Merhaba,
Uygulamada kullanıcı tanımlı bir menü var ve bu menüye istenildiği zaman kullanıcı tarafından müdehale edilebiliyor. (Göster/Gizle formatında).
Bu kullanım için plist yapısını kullandım. Benim kendi oluşturduğum bir plist dosyasından verileri tabloya yazdırıyorum. Checkmark kullanarak Göster/Gizle kullanımı da yaptırıyorum ama verileri kalıcı olarak yazdırmada sorun yaşıyorum. Seçim yapılan ekrandan çıkıldığı zaman yapılan seçimler kaydedilmiyor. Bi yerde kodları yanlış kullanıyorum ama nerede olduğunu çıkartamadım. Bu sorunu çözmeden uyku yok dedim ve yaklaşık 30 saatlik uykusuzluğun ardından size sormak daha iyi olacak diye düşündüm.
Plist'den ekran görüntüsü de ekliyorum. Yapman gereken olay Boolean değerler üzerinde veri değişikliği yapabilmek.
Değişiklik yaptığım alan; (Bu şekilde kalıcı olarak yazmıyor. Araştırmalarım sonucu writeFile komutunu kullanmam gerektiğini buldum ama bi türlü başarılı olamadım. Sorun veriyi tam olarak nasıl yazacağımı bilmemekten kaynaklı.)
-(NSMutableArray *)menuList
{
if (!_menuList) {
_menuList = [[NSMutableArray alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"CategoryList" ofType:@"plist"]];
}
return _menuList;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:NO];
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if([[[self.menuList objectAtIndex:indexPath.row] valueForKey:@"MenuShow"] boolValue] == NO)
{
cell.accessoryType = UITableViewCellAccessoryCheckmark;
[[self.menuList objectAtIndex:indexPath.row] setValue:[NSNumber numberWithBool:YES] forKey:@"MenuShow"];
NSLog(@"%@", @"secildi");
}
else
{
cell.accessoryType = UITableViewCellAccessoryNone;
[[self.menuList objectAtIndex:indexPath.row] setValue:[NSNumber numberWithBool:NO] forKey:@"MenuShow"];
NSLog(@"%@", @"kaldırıldı");
}
[[self.menuList objectAtIndex:indexPath.row] synchronize];
}
Veriyi kalıcı olarak yazdıramadığım alanı yukarıda kalın olarak belirttim. Daha önce bu şekilde NSUserDefault değişkenine kayıt yapıyordum. Sanırım şuan bi NSMutableDictionary yapısı tanımlamam gerekiyor kendime; ancak sorunun üstesinden gelemedim.
Şimdiden cevaplarınız için teşekkür ederim.
Herkese keyifli kodlamalar :)