2016-04-13 23 views
-2

Bilgimi saklamıyor NSUserDefaults kullanarak bilgilerimi depolamak için birçok kez denedim ama başarısız oldu. Nasıl çözeceğimi bilmiyorum.Objective-C NSUserDefaults

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 
    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 
    if (tableView == mySearchController.searchResultsTableView) 
    { 
     //BMKPoiInfo* info = poiResultArray[indexPath.row]; 
     NSString *nn = poiResultArray[indexPath.row]; 

    //dw 
    NSUserDefaults *userDef =[NSUserDefaults standardUserDefaults]; 
    [userDef setInteger:1 forKey:@"poiPosition"]; 
//  [userDef setObject:@"aa" forKey:@"poiPosition"]; 
    [userDef synchronize]; 

    [_selectBtn setTitle:nn/*info.name*/ forState:UIControlStateNormal]; 

    NSInteger nu = [userDef integerForKey:@"poiPosition"]; 

bunlar benim kodları, ancak "nu" olan hiçbir sonuç ve u ben

NSUserDefaults *userDef =[NSUserDefaults standardUserDefaults]; 
    [userDef setInteger:1 forKey:@"poiPosition"]; 
//  [userDef setObject:@"aa" forKey:@"poiPosition"]; 
    [userDef synchronize]; 

"nu" ilgisi neden

vardı görebilir?

+0

nesneyi almak için aynı anahtarı kullandığınızdan emin olun ve nasıl çıktı beklenen çıkışı farklılık alınan gelir? Gönderinizi nasıl değiştireceğinize dair bilgi için lütfen [sor] ve [mcve] 'ye bir göz atın. –

+0

Varsayılan kapsamı, geri yükledikten hemen sonra aynı kapsamda okumak nedir? Şu anda değerin iyi bilinmesi gerekiyor. – vadian

+0

Kod adamınızda yanlış bir şey yok. Farklı girdiğinizde kodunuzda kullandığınız anahtarın büyüsünü kontrol edin. işte mükemmel görünüyor. – Lion

cevap

0

Değeri kaydetmek için - [NSUserDefaults setInteger:forKey:] - ve değerini almak için - [NSUserDefaults integerForKey] kullanabilirsiniz.

kaydetmek ve tam olarak bir hata için alıyorsanız ne NSUserDefaults

+0

evet, anahtar aynı, soru içeriğinde kodu görebiliyorum –

+0

NSLog (@ "% ld", (uzun) [[NSUserDefaults standardUserDefaults] integerForKey: @ "poiPosition"]); ve bu benim için çalışıyor –