2012年11月5日月曜日


とりあえず簡単なのでデータをNSUserdDefaultsで保存する。

参考URLは下記
NSUserDefaultsはどこまで保存できるかチェック(1)
http://iphone-dev.g.hatena.ne.jp/tokorom/20090520/1242789479

画面遷移するときに保存させればいいかなと
//seguの処理 
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    // 遷移先を取得     if ([[segue identifier] isEqualToString:@"ponSegue"]) {      
        TableViewController *tableViewController = segue.destinationViewController;
        tableViewController.kazu = hozontfd.text//テキストフィールドに書かれた値をkazu       // tableViewController.myMuArray = array;     // NSMutableArrayの生成         NSMutableArray* myMuArray = [NSMutableArray array];         // 保存されているデータがあるかないか判断
        if ([[[NSUserDefaults standardUserDefaults] arrayForKey:@"ARRAY"] count] == 0) {             // あれば呼び込む            NSArray *array = [[NSUserDefaults standardUserDefaults] arrayForKey:@"ARRAY"];            // NSMutableArrayに格納            myMuArray = [[NSMutableArray alloc] initWithArray:array];   NSLog(@"myMuArray is %@",[myMuArray description]);
        }
   
        // 新しい値を配列に追加        [myMuArray addObject:hozontfd.text] // 値を保存        [[NSUserDefaults standardUserDefaults] setObject:myMuArray forKey:@"ARRAY"];         [[NSUserDefaults standardUserDefaults] synchronize];   
    }
  
}


注意しなければいけないところは、
NSUserDefaultsではNSMutableArrayを取り出せないこと。そもそもこんな感じで活用することを想定していないからかなー。
取り出そうとするとこんなかんじのエラーが、、、
mutating method sent to immutable object

だからNSArrayで呼び込んで、NSMutableArrayに格納し直すという手間がかかる。


0 件のコメント:

コメントを投稿