2014-09-01 18 views
0

我想將數據保存到表中的特定索引。如何在indexPath處設置默認對象?

這就是我想要的達到理論上:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setObject:cell.label.text forKey:indexPath]; 

什麼是這樣做的正確方法是什麼?

回答

1

試試這個

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setObject:cell.label.text forKey:[indexPath description]]; 
+1

''[indexPath description]'似乎是我需要的東西。我會盡快爲您提供反饋:D BTW如何將'[indexPath description]'返回到indexPath加載? – 2014-09-01 05:39:21

0

您可以將與tableview相關的所有數據保存在數組中,並將該數組存儲在標準用戶默認值中。

編輯

你可以使用NSUserDefaults的存儲比originially支持其他對象。 這裏關注這個問題: How to save custom objects in array and store it in NSUserDefaults - iPhone

+0

如果該數據包含除NSDate,NSData,NSNumber,NSString,NSDictionary或NSArray之外的其他對象,則不適用。 – 2014-09-01 05:26:14

+0

請參閱編輯@ScottBerrevoets – avismara 2014-09-01 05:29:25

+0

如何將其存儲在數組中以便在加載默認值時,我的所有單元標籤都會在正確的indexPaths處獲得正確的文本?我也必須將NSIndexPath存儲在我假設的數組中。 – 2014-09-01 05:37:49

0

您可以修改代碼如下

NSUserDefaults *userdefaults = [NSUserDefaults standardUserDefaults]; 
[userdefaults setObject:cell.label.text forKey:[NSString stringWithFormat:@"$$%d",indexPath.row]]; // modify as per your requirement 
[userdefaults synchronize]; 

檢索可以參考以下。

NSUserDefaults *userdefaults = [NSUserDefaults standardUserDefaults]; 

cell.textLabel.text=[userdefaults valueForKey:[NSString stringWithFormat:@"$$%d",indexPath.row]]; //modify as per your requirement 

希望它可以幫助你......!