Merhaba Arkadaşlar,
mobilhanem.com üzerinden anlattığımız/yayınladığımız derslere ios’ta Propert List yani Plist Kullanımı ile devam edeceğim.
Arkadaşlar Plist uygulama içinde bilgi saklamaya yarayan bir yapıdır. Kısmi olarak database görevi görür. Büyük olmayan datalarınızı Plist üzerinde saklayabilirsiniz.Mesala bir Login bilgisi tutacaksınız yada kişi bilgilerini ,yada oyun yazdınız oyun skorlarını bunun gibi bir çok değeri tutabilirsiniz.
Anahtar-Değer şeklinde veri saklarsınız.NSDictionary gibi düşünün her bir key in bir value yani değeri vardır.Androiddeki SharedPreferences yapısıyla aynıdır.
Plist üzerinde tutabileceğiniz data türleri:
Array
Dictionary
Boolean
Data
Date
Number
String
Bu data türlerini anahtar-değer şeklinde plist üzerinde tutabilirsiniz.
Gelelim plist oluşturmaya.Plist’i iki türlü oluşturabilirsiniz. 1.si manuel olarak oluştururusunuz.İkinsici ise programsal olarak oluşturursunuz.Ben bu dersimde programsal olarak oluşturmayı anlatacağım.
Plist oluşturma:
// directoryden pathleri alıyor ve array'e atıyoruz NSLog ile loglatıp inceleyebilirsiniz NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); // plisti kaydedeceğimiz document path i alıyoruz.Arrayin ilk değeri document pathi verir NSString *documentsPath = [paths objectAtIndex:0]; // Data isminde plisti document pathin sonuna ekliyoruz NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"Data.plist"]; NSFileManager *fileManager = [NSFileManager defaultManager]; //Data.plist adında bir dosya mevcut mu kontrol ediyoruz.Mevcut değilse oluşturuyoruz //Bu kontrolü yapmadan oluşturursak her seferinde üzerine yazarak yeniden aynı dosya boş bir şekilde oluşturulur if ([fileManager fileExistsAtPath:plistPath] == NO) { //Plist aslında dosya olarak tutulan bir NSDictionary'dir.Aynı NSDictionary gibi key value değeri tutar.NSDictionary farkı ise saklanabiliyor olması diyebiliriz. NSDictionary *dict = [NSMutableDictionary dictionary]; [dict writeToFile:plistPath atomically: TRUE]; }
Plist yazma:
NSMutableDictionary *dict; //Değerleri değiştirilebilir NSDictionary = NSMutableDictionary // Yukarıdaki path işlemlerini yine yapıyoruz NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsPath = [paths objectAtIndex:0]; NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"Data.plist"]; dict = [[NSDictionary alloc] initWithContentsOfFile:plistPath];//NSMutableDictionary mizi direk Plist değerleri ile init ediyor yani başlatıyoruz diyebiliriz //[dict setObject:deger forKey:anahtar]; //dictionarymize yeni bir object set ediyoruz [dict setObject:@"Taha" forKey:@"isim"]; [dict setObject:@"Kırca" forKey:@"soyisim"]; [dict writeToFile:plistPath atomically: TRUE];//ve oluşturduğumuz değeri yine plist olarak kaydediyoruz
Plist okuma:
NSDictionary *dict; //path işlemleri NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsPath = [paths objectAtIndex:0]; NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"Data.plist"]; //dictionarymizi plist değerleri ile init ettik dict = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath]; //deger = [dict objectForKey:anahtar]; NSString *isim = [dict objectForKey:@"isim"];//Taha dönecek NSString *soyisim = [dict objectForKey:@"soyisim"];//Kırca dönecek
Oluşan plist dosyasını incelemek isterseniz plistPath stringini NSLog ile loglatın ve simulatörle çalışıyorsanız bilgisayarınızın hangi pathinde bulunduğunu öğrenin.
Evet arkadaşlar bu derste anlatmak istediklerim bu kadar. Soru ve görüşlerinizi yorum olarak yazabilirsiniz.
Sizlerden ricamız facebook.com/mobilhanem sayfamızı beğenmenizdir. Birdahaki dersimizde görüşmek dileğiyle.
0