我想通過使用狀態恢復和保存技術而不使用故事板而保存Second_view_controller中的First_view_controller對象,但我的應用程序崩潰且無法識別的選擇器實例錯誤。我試圖保留NSString對象它工作正常,但是當我嘗試保留一個對象時,我只能看到錯誤。可能是我沒有做得對,請幫助我。 在此先感謝。恢復對象狀態保存 - 目標c
0
A
回答
0
在使用自定義的對象,你應該實現有方法初級講座協議NSCoding:
-(void)encodeWithCoder:(NSCoder *)encoder{
[encoder encodeObject:self.state forKey:@"viewState"];
}
- (id)initWithCoder:(NSCoder *)decoder {
if (self = [super init]) {
self.state = [decoder decodeObjectForKey:@"viewState"];
}
return self;
}
,如果我沒看錯的可能是你錯過了在實現此方法。
以及保存這些類對象的代碼如下:
NSArray *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *file = [documentPath stringByAppendingPathComponent:@"ObjectStateContent.txt"];
NSMutableArray *arr=[NSMutableArray array];
[arr addObject:self.stateObject];
[NSKeyedArchiver arr toFile:file];
//And for unarchive object
NSMutableArray* myArray = [NSKeyedUnarchiver unarchiveObjectWithFile:file];
你應該對保存自定義對象文件或任何其它存儲非常清楚的是,「對象狀態可以保存在字符串或JSON等形式。,對象本身不能持久「。
+0
謝謝你的支持 – User
+0
@用戶如果這個解決方案爲你工作,然後請你請接受這個答案,以便其他人可以知道它。 – SachinVsSachin
相關問題
- 1. CoreBluetooth:測試狀態保存和恢復
- 2. 保存/恢復PHP的rand狀態()
- 3. 保存和恢復活動狀態?
- 4. 應用程序狀態保存/恢復
- 5. android webview的保存/恢復狀態
- 6. 無法恢復保存的Virtualbox狀態
- 7. 在MacOs上保存和恢復狀態
- 8. 保存並恢復vim狀態
- 9. 保存和恢復視圖狀態android
- 10. ClassNotFoundException在恢復GoogleMaps對象狀態時
- 11. CakePHP保存對象狀態
- 12. 如何保存/恢復狀態視圖片上標籤更改
- 13. 在C中保存和恢復TreeView狀態#
- 14. 實現保存和恢復對象屬性狀態的最佳方法
- 15. 如何將C++對象保存到xml文件並恢復?
- 16. 如何使用保存的實例狀態和恢復實例狀態?
- 17. 在GXT中保存對象的狀態
- 18. 使用片段保存和恢復狀態
- 19. 斯威夫特保存和恢復的ViewController狀態點擊
- 20. 恢復到已知狀態
- 21. 我們如何在RaphaelJS中保存和恢復轉換狀態
- 22. ExoPlayer恢復狀態時恢復
- 23. 保存和恢復非Parcelable UI狀態啞部件
- 24. 保存複選框狀態
- 25. 如何觸發核藍牙狀態保存和恢復
- 26. 保存/恢復OpenGL ES狀態的正確方法
- 27. GRAILSUI Datatable - 調用之間的保存和恢復狀態
- 28. 保存程序的狀態以允許它恢復
- 29. 如何在iOS中保存/恢復視圖狀態?
- 30. 如何通過webMethod在jqGrid中保存/恢復CheckBox狀態?
你能發佈確切的錯誤和相關的代碼嗎? – Willeke
已解決問題我嘗試保存我的自定義對象。 – User