2012-01-03 58 views
0

使用下面的代碼來保存sessionID。NSUserDefaults值沒有被保存iPhone

NSUserDefaults *sessions = [NSUserDefaults standardUserDefaults]; 

[sessions setObject:sID forKey:@"sessionsID"]; 

[sessions synchronize]; 

NSLog(@"Session Value Saved"); 

檢索值的代碼是:

NSUserDefaults *sessions = [NSUserDefaults standardUserDefaults]; 

NSString *myString = [sessions stringForKey:@"sessionsID"]; 

NSLog(@"nsuser: %@", myString); 

但在控制檯它顯示這樣的:

2012-01-03 15:37:37.292 LoginTest[574:12503] sID: c339af83caa5355d124f70e3f22c193d 
2012-01-03 15:37:37.296 LoginTest[574:12503] Session Value Saved 
2012-01-03 15:37:37.297 LoginTest[574:12503] Accounts: ("[email protected]", "o=Demo","o=Und") 
2012-01-03 15:37:37.302 LoginTest[574:12503] sID: (null) 
2012-01-03 15:37:37.304 LoginTest[574:12503] Session Value Saved 
2012-01-03 15:37:37.304 LoginTest[574:12503] Accounts: (null) 
2012-01-03 15:37:37.305 LoginTest[574:12503] No Session created 

爲什麼它被稱爲兩次,一次可以節省值並顯示它們,第二次給出null。

我正在使用ARC。

我攪亂了這個......請指導我怎樣才能解決這個問題

+0

使用檢索值的代碼將有助於我們太 – 2012-01-03 10:53:14

+0

確定我已經編輯我的問題是 – AppDeveloper 2012-01-03 10:57:40

+0

什麼類型的對象'sID' – 2012-01-03 11:04:49

回答

1

我們不知道爲什麼它獲取調用兩次;這是你的應用程序:)

將斷點上[sessions setObject:sID forKey:@"sessionsID"];

第一次遇到這種被擊中sID將是有效的。

然後有事情發生是無效sID :(

它被打第二次,它看起來像sIDnull - 你應該能夠使用控制檯/堆棧明白爲什麼它被稱爲兩次。 ?

+0

thanx @deanWombourne ...解決了它:) – AppDeveloper 2012-01-03 12:05:15