私の他の質問があいまいだったので、これを明確にします。1つのviewControllerにテーブルビューがあり、セルが選択されると、数値がNSUserDefaultsに保存されます。メインの viewController で、この番号を取得し、それを使用してラベルを更新したいと考えています。デバッグを行ったところ、tableView からメインの viewController に戻ると、次のような順序であることがわかりました。
1) メイン ビューの読み込み 2) tableView セル タップの認識 3) NSUserDefaults に保存された数値
メインビューが最後に読み込まれるように順序を変更して、セルをクリックするとメインviewControllerのラベルが変更されるようにするにはどうすればよいですか?
これが私の didSelectRow メソッドのコードです
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *pointsPath = [[NSString alloc] initWithFormat:@"totalPoints"];
NSString *numberFirst = [[NSString alloc] initWithFormat:@"numberFirst"];
int totalPoints = [[NSUserDefaults standardUserDefaults] integerForKey: pointsPath];
int number = [[NSUserDefaults standardUserDefaults] integerForKey:numberFirst];
if([indexPath row] == 1)
{
NSLog(@"Selected First row");
if(totalPoints < 10)
{
if (number != 0)
{
NSLog(@"Did not add a point, but saved");
[[NSUserDefaults standardUserDefaults] setInteger:1 forKey:numberFirst];
[[NSUserDefaults standardUserDefaults] synchronize];
}
else if (number == 0)
{
NSLog(@"Added a Point");
int newPoints = totalPoints + 1;
[[NSUserDefaults standardUserDefaults] setInteger:newPoints forKey: pointsPath];
[[NSUserDefaults standardUserDefaults] setInteger:1 forKey:numberFirst];
[[NSUserDefaults standardUserDefaults] synchronize];
int logPoints = [[NSUserDefaults standardUserDefaults]integerForKey:pointsPath];
NSLog(@"Point Count:%i", logPoints);
}
}