とりあえず簡単なのでデータを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 件のコメント:
コメントを投稿