将数据存储在Swift iOS应用程序中供以后使用

我正在Swift编写一个iOS应用程序,该应用程序从多个应用程序屏幕收集用户input,并在最后一个屏幕中通过API将收集的信息发布到服务器。

现在我的问题是,什么是最好的方式来pipe理应用程序上收集的数据? 我应该用plist来保存我的表单数据吗? 它也有一个图像,我想从最终屏幕上传到我的服务器。 我应该怎么做呢?

PS:我也阅读了关于http://developer.apple.com/CoreData ,但我不确定这是否是正确的方式前进。

任何build议,非常感谢。

更新:节省您的时间 – 这是Swift 1.2解决scheme。 我没有testing它在Swift 2(可能secureValuestream量必须更新)

看起来你正在谈论用户的详细资料/configuration文件(纠正我,如果我错了),这个数据量 – 使用NSUserDefault是完全没问题的。

对于用户的喜好(如果是这种情况!!)我会使用像偏好pipe理器:

 import Foundation import Security class PreferencesManager { class func saveValue(value: AnyObject?, key: String) { NSUserDefaults.standardUserDefaults().setObject(value, forKey: key) NSUserDefaults.standardUserDefaults().synchronize() } class func loadValueForKey(key: String) -> AnyObject? { let r : AnyObject? = NSUserDefaults.standardUserDefaults().objectForKey(key) return r } class func saveSecureValue(value: String?, key: String) { var dict = dictForKey(key) if let v = value { var data: NSData = v.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)! (SecItemDelete(dict as NSDictionary as CFDictionary)) dict[kSecValueData as NSString] = v.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion:false); var status = SecItemAdd(dict as NSDictionary as CFDictionary, nil) } else { var status = SecItemDelete(dict as NSDictionary as CFDictionary) } } class func loadSecureValueForKey(key: String) -> String? { var dict = dictForKey(key) dict[kSecReturnData as NSString] = kCFBooleanTrue var dataRef: Unmanaged<AnyObject>? var value: NSString? = nil var status = SecItemCopyMatching(dict as NSDictionary as CFDictionary, &dataRef) if 0 == status { let opaque = dataRef?.toOpaque() if let op = opaque { value = NSString(data: Unmanaged<NSData>.fromOpaque(op).takeUnretainedValue(), encoding: NSUTF8StringEncoding) } } let val :String? = value as? String return val } class private func dictForKey(key: String) -> NSMutableDictionary { var dict = NSMutableDictionary() dict[kSecClass as NSString] = kSecClassGenericPassword as NSString dict[kSecAttrService as NSString] = key return dict } } 

您可以使用PreferencesManager.saveSecureValue作为安全数据(如密码等)和PreferencesManager.saveValue作为其余的值