2016-04-13 14 views
-2

NSUserDefaultsを使用して情報を保存するのに何度も試みましたが失敗しました。私は解決する方法を知らない。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"]; 

これらは私のコードですが、 "NU" は何の結果を持っていない、とuは私がなぜ "NU" は何の関係もありません?

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

を持っていた見ることができますか

+0

からオブジェクトを取得するためにあなたが同じキーを使用していることを確認し、どのように出力が期待される出力と異なって受け取ったのでしょうか?投稿を改訂する方法については、[ask]と[mcve]をご覧ください。 –

+0

デフォルト値を保存した直後に同じ有効範囲内に戻す目的は何ですか?現時点では値はよく知られているはずです。 – vadian

+0

あなたのコードマンに間違いはありません。異なるコードを入力した場合は、コード内で使用しているキーのスペルを確認してください。ここは完璧だと思う。 – Lion

答えて

0

- [NSUserDefaults setInteger:forKey:]を使用して値を格納し、 - [NSUserDefaults integerForKey]を使用して取得することができます。

は保存し、正確にあなたがエラーのために取得している何NSUserDefaults

+0

はい、キーは同じです、あなたは質問内容のコードを見ることができます –

+0

NSLog(@ "%ld"、(long)[[NSUserDefaults standardUserDefaults] integerForKey:@ "poiPosition"]);これは私のために働いています –

関連する問題