我的另一个问题模棱两可,所以我会让这个问题更清楚。I have a table view on one viewController and when a cell is selected, it saves a number to NSUserDefaults. 在我的主视图控制器上,我检索了这个数字并想用它更新一个标签。我做了一些调试,发现当我从 tableView 回到我的主 viewController 时,发生的顺序是这样的:
1)主视图加载 2)tableView 单元格点击识别 3)保存到 NSUserDefaults 的数字
我将如何更改顺序以便主视图最后加载,以便当我单击一个单元格时,它会更改我的主视图控制器中的标签?
这是我的 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);
}
}