Merhabalar, uzun bir süredir bitmek bilmeyen bir to-do projesi üzerinde çalışıyorum. Artık sonlara doğru geldik. :)

Ben daha önceden dataları plist üzerinde kayıt ederek verileri tutuyordum. Artık ancak iCloud geçmenin vakti geldi diye düşündüm. Bir kaç araştırma yaptım ancak tam olarak başarabilmiş değililim.

Daha önceden kayıtları şöyle tutuyordum;

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@"data.plist"];
NSMutableArray *array = [[NSMutableArray alloc] init];
NSEnumerator *enumerator = [_tasks objectEnumerator];
Task *tempTodo;
while ( tempTodo = [enumerator nextObject])
{
    NSString* taskData = [NSString stringWithFormat:@"%@///%@///%@",tempTodo.name,tempTodo.done?@"YES":@"NO",tempTodo.bildirimm];
    [array addObject:taskData];
}
[array writeToFile:plistPath atomically:YES];
[array writeToFile:plistPath atomically:YES];

Verileri geri çekerden şöyle kullanıyordum;

NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
// paths[0];
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@"data.plist"];
if ([fileManager fileExistsAtPath:plistPath] == YES)
{
    NSMutableArray *readArray = [NSMutableArray arrayWithContentsOfFile:plistPath];
    _tasks = [[NSMutableArray alloc] init];
    NSEnumerator *enumerator = [readArray objectEnumerator];
    NSString *str = [[NSString alloc] init];
    while ( str = [enumerator nextObject])
    {
        Task *tempTodo = [[Task alloc] init]; 
        NSArray* taskValues =     [str componentsSeparatedByString:@"///"];
        if([taskValues count]==3)
        {
        tempTodo.name = [taskValues objectAtIndex:0];
        tempTodo.done = [[taskValues objectAtIndex:1]boolValue];
        tempTodo.bildirimm = [taskValues objectAtIndex:2];
        [_tasks addObject:tempTodo];
        }
    }
    [[self tableView] reloadData];
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:[_tasks count]];
    NSLog(@"Tüm kayıtlar alındı, sorunsuz başlatıldı");
   }

Artık icloud geçmem gerekiyor diye düşünürken iCloud bundle ayarlarını hallettim. Daha sonradan şöyle kontrollerini sağladım ve sorun çıkmadı;

NSURL *ubiq = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
if (ubiq) {
    NSLog(@"YES! %@",ubiq);
} else {
    NSLog(@"No!");
}

Şimd tam olarak iCloud üzerine nasıl geçmeliyim neler yapmalıyım hiçbir fikrim yok. iCloud'a nasıl aktarılır bu kadar kodu iCloud'a nasıl entegre edicez bilmiyorum. Aslında iCloud ile ilgili cok bir fikrim yok. Bir iki gündür araştırıyorum ancak pek fikir sahibi olabilmiş değilim. Biraz yardım hiç fena olmazdı.. :)

soruldu: 24 Haz '13, 10:26

Salieh's gravatar image

Salieh
2081014
cevap kabul oranı: 0%

değiştirildi: 13 Tem '13, 01:13

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183

Bana kalırsa hemen icloud'a atlamaktan ziyiade önce coredata sonra core data'yı icloud'a aktarmak daha mantıklı bir yol.. Bu arada icloud ve coredata'yı çok kolaylaştıran bir kütüphane: "magical records" github üzerinden ulaabilirsin

(24 Haz '13, 11:07) dreampowder dreampowder's gravatar image

@dreampowder indirdim biraz incelemeye çalıştım ancak çok karışık geldi. Zaten hiç bir şey anlamadığım için kafam iyice karıştı açıkcası. İlk önce coredata için basit uygulamalar ile öğrenip daha sonra icloud geçmeyi düşündüm. Ancak basit uygulamalar bulmak pek kolay da değil.

(24 Haz '13, 11:38) Salieh Salieh's gravatar image

@salieh hazir uyguluma bulup kodu kurcalamak yerine kendiniz sifirdan bir proje olusturup yavas yavas bunu gelistirmenizi oneririm. core data ya gecmeden once dire icloudsa gecebilirsiniz. kaynak olarak youtube oneririm. guzel ornekler var....

(27 Haz '13, 20:02) Antiokhos Antiokhos's gravatar image
Bu soruya ilk cevap veren sen ol!
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×45
×16
×1

Soruldu: 24 Haz '13, 10:26

Görüntüleme: 693 kez

Son güncelleme: 13 Tem '13, 01:13

powered by BitNami OSQA