我的另一個問題是含糊不清,所以我會讓這一個更加清晰。我有一個viewController的表格視圖,當一個單元格被選中時,它將一個數字保存到NSUserDefaults。在我的主視圖控制器,我檢索這個數字,並希望用它更新標籤。我做了一些調試和發現,當我回到我來自的tableView一個主要的viewController,這是發生了什麼順序:的tableView didSelectRow不正常
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);
}
}
其言下之意是,你必須檢查代碼,看看目標開發平臺一個貧窮的話題... –
目標開發平臺是iOS的...我不熟悉的Mac開發,但我不知道爲什麼它的重要 – V2Krazy
你做了什麼來調試這個?首先要做的是看看上面的方法是否真的被調用。接下來確定您期望的數據是否顯示在您期望的位置。 (順便說一句,寫一個文件只是爲了將一個數字從一個VC傳遞到另一個VC是有點愚蠢的。) –