如果我希望用戶能夠編輯條目到帶有數字數據的表格中,(用戶將點擊一個表格單元格,然後在該子視圖中,他們將輸入一個數字,然後返回到主表視圖),我想我只是將條目添加到NSMutabaleArray。如果是這樣,當用戶離開應用程序時,那些值是否仍然存在?如果他們是,我是否也需要一個清除表格的方法來釋放數組?謝謝。NSArray,UITableView
0
A
回答
2
您的應用程序的數據不會自動保存。
如果您的數據量很少,則可以將數組等集合寫出到應用程序Documents目錄中的Property List(plist)文件中。
如果您有大量數據,我會推薦使用核心數據。
0
快速而骯髒的方法是使用NSKeyedArchiver將NSArray寫入文件。然後,當應用程序啓動時,您必須將文件中的數據讀回到您的NSArray中。
這裏有一個片段:
這得到文件的路徑:
- (NSString*)pathForDataFile
{
//Get the path of the Documents directory
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* documentsDirectory = [paths objectAtIndex: 0]; //Path to the documents directory
//Get the path to my file in /Documents
NSString* documentsPath = [documentsDirectory stringByAppendingPathComponent:
[NSString stringWithFormat: @"%@.plist", @"FileName"]];
return documentsPath;
}
這些將保存和加載:
- (BOOL)saveDataToDisk
{
NSString* path = [self pathForDataFile];
NSMutableDictionary* rootObject = [NSMutableDictionary dictionary];
if (self.yourArray)
[rootObject setValue: self.powerListCollection.items forKey: kYourKey];
[NSKeyedArchiver archiveRootObject: rootObject toFile: path];
return YES;
}
-
- (BOOL)loadDataFromDisk
{
NSString* path = [self pathForDataFile];
NSFileManager* manager = [NSFileManager defaultManager];
if ([manager fileExistsAtPath: path])
{
NSLog(@"Saved data found, loading data from %@", path);
NSMutableDictionary* rootObject = nil;
rootObject = [NSKeyedUnarchiver unarchiveObjectWithFile: path];
NSArray* self.yourArray = [rootObject objectForKey: kYourKey];
}
else
{
NSLog(@"No saved data, initializing objects with default values.");
}
return YES;
}
注意,你」我需要保留w憎恨你從objectForKey回來:
相關問題
- 1. 多節UITableView和NSArray
- 2. UITableView綁定到一個NSArray
- 3. 嵌套到UITableView的NSArray
- 4. 如何從NSArray填充UITableView?
- 5. 使用NSArray加載UITableView
- 6. 的UITableView動態地從NSArray中
- 7. 顯示UITableView中的文件NSArray - iOS 5
- 8. iOS的NSArray從SQLite在UITableView的NSDictionaries
- 9. 的NSData - > JSON - >的NSArray和UITableView的
- 10. 基於UITableView重新排序NSArray編輯
- 11. 用UITableView中的JSON內容顯示NSArray
- 12. NSArray更改後UITableView沒有更新
- 13. 按字母順序顯示UITableView NSArray
- 14. 在iOS 7中使用NSArray填充UITableView
- 15. UITableView索引實現與單個NSArray
- 16. 在NSArray中禁用單元格UITableView
- 17. 如何排序NSarray的部分UITableview
- 18. 複雜的JSON作爲一個UITableView iOS的NSArray數據源
- 19. UITableview NSarray isEqualToString無法識別的選擇器發送到實例
- 20. UISearchBar與NSArray(在UITableView中搜索不工作)
- 21. 如何使用UIButton Action來更改用於填充UITableView的NSArray?
- 22. 如何在從NSArray將數據加載到UITableView時顯示UIActivityindicator
- 23. 根據NSDirearies的NSArray中的值爲UITableView創建索引
- 24. UITableView複製所有行的第一個NSArray項目
- 25. 訪問NSArray/UITableView中的第一個對象
- 26. 從plist的UITableView加載到字典的NSArray
- 27. 如何從IOS中的UITableView搜索多個NSArray
- 28. 爲什麼在選擇UITableView單元時NSArray爲空?
- 29. NSArray的多維NSArray?
- 30. 核心數據的NSArray NSArray