Ios 在Swift中存储数据的最有效方法
我目前正在从事Swift项目,我希望以以下方式保存永久用户数据: 用户名 -字符串列表(字符串数组) 这样,当我搜索用户名时,我要么得到一个nil返回(如果用户名不存在),要么得到一个我可以迭代的字符串列表。我知道一些保存用户数据的方法,但是,由于我是Swift新手,我不知道所有永久保存用户数据的方法。我也不知道哪一个最适合我的需要。像这样的Ios 在Swift中存储数据的最有效方法,ios,swift,swift3,local-storage,Ios,Swift,Swift3,Local Storage,我目前正在从事Swift项目,我希望以以下方式保存永久用户数据: 用户名 -字符串列表(字符串数组) 这样,当我搜索用户名时,我要么得到一个nil返回(如果用户名不存在),要么得到一个我可以迭代的字符串列表。我知道一些保存用户数据的方法,但是,由于我是Swift新手,我不知道所有永久保存用户数据的方法。我也不知道哪一个最适合我的需要。像这样的 let people: [String: [String]] = ["Jim": ["bread", "fruit", "meat"],
let people: [String: [String]] = ["Jim": ["bread", "fruit", "meat"],
"Alan": ["pears", "peas", "turnip"],
"Sue": ["cabbage", "rice", "bblueberries"]]
let documentsUrl = FileManager.default.urls(for: .documentDirectory, in: FileManager.SearchPathDomainMask.userDomainMask).last!
let fileUrl = documentsUrl.appendingPathComponent("myfile")
(people as NSDictionary).write(to: fileUrl, atomically: true)
然后
let people = NSDictionary(contentsOf: fileUrl) as! [String: [String]]
对于系统URL
NSDictionary
…
像这样的事情
let people: [String: [String]] = ["Jim": ["bread", "fruit", "meat"],
"Alan": ["pears", "peas", "turnip"],
"Sue": ["cabbage", "rice", "bblueberries"]]
let documentsUrl = FileManager.default.urls(for: .documentDirectory, in: FileManager.SearchPathDomainMask.userDomainMask).last!
let fileUrl = documentsUrl.appendingPathComponent("myfile")
(people as NSDictionary).write(to: fileUrl, atomically: true)
然后
let people = NSDictionary(contentsOf: fileUrl) as! [String: [String]]
对于系统URL
NSDictionary
…
任何特定方法的效率至少部分取决于体积。这里我们讨论的是多少个用户名?将有多少数据与每个关联?@BobWakefield可能有1-5个用户名,字符串arrayiOS或macOS上有8-35个字符串?无论哪种方式,都有常用的选项-SQLite、核心数据、plist文件或其他二进制文件。@rmaddy它在iOS中。我能把数据存储在这些地方吗?类似于与字符串数组关联的字符串。@AshleyMills这是plist的来源。任何特定方法的效率至少部分取决于体积。这里我们讨论的是多少个用户名?将有多少数据与每个关联?@BobWakefield可能有1-5个用户名,字符串arrayiOS或macOS上有8-35个字符串?无论哪种方式,都有常用的选项-SQLite、核心数据、plist文件或其他二进制文件。@rmaddy它在iOS中。我能把数据存储在这些地方吗?类似于与字符串数组关联的字符串。@AshleyMills这是plist的来源。这是永久保存的吗?URL的示例是什么?你怎么能循环浏览这本词典?我是否可以自动将数据对设置/接收到函数中?例如,setValues(username,stringarray)和getArray(username)。是的,这是永久保存的。在答案中添加了一些URL详细信息,您将不得不亲自尝试其中一些内容。写一些代码,而不是问更多的问题,如果你有问题。这是永久保存吗?URL的示例是什么?你怎么能循环浏览这本词典?我是否可以自动将数据对设置/接收到函数中?例如,setValues(username,stringarray)和getArray(username)。是的,这是永久保存的。在答案中添加了一些URL详细信息,您将不得不亲自尝试其中一些内容。写一些代码,而不是问更多的问题,如果你有问题。