Swift - 阅读文本:第 1 行 = 变量,第 2 行 = 变量,等等

亚当·西姆

我正在创建一个保存帐户的程序。我正在用用户信息逐行写入文件(第 1 行 = 用户名,第 2 行 = 密码,第 3 行 = 显示名称)。我很擅长阅读文本文件,但是如何将每一行解码为不同的变量?所以 line1 = usernameVariable, line2 = passwordVariable, line3 = displaynameVariable。

这是我读取数据的方式

if let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {        
    let fileURL = dir.appendingPathComponent(file)
    //reading
    do {
        let text2 = try String(contentsOf: fileURL, encoding: .utf8)
        outText = text2
    } catch {/* error handling here */}
}

这就是 print(outText) 得到的:

n1
u1
p1
x
n2
u2
p2

n = 昵称,u = 用户名,p = 密码。

我只是想将 u1 读取的任何内容分配给用户名变量等。

麦迪

为此,您不应该使用文本文件。有许多更合适的方法来存储和检索您的数据。文本文件在最佳选项列表中非常低。

首先,声明一个struct来保存每个条目:

struct UserData {
    let username: String
    let password: String
    let displayName: String
}

由于您希望保留此数据,请创建 struct Codable

struct UserData: Codable {

现在您可以使用JSONEncoder对用户数据列表进行编码Data,然后将数据写入文件。并用于JSONDecoder回读用户数据列表。

// You array of users
let users = [ UserData(username: "Bob", password: "pass", displayName: "Hello") ]
// Get the path
let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let url = dir.appendingPathComponent("userdata")

// Code to save the array of data    
do {
    let data = try JSONEncoder().encode(users)
    try data.write(to: url)
} catch {
    print("error: \(error)")
}

// Code to read the list of user data
do {
    let data = try Data(contentsOf: url)
    let newUsers = try JSONDecoder().decode([UserData].self, from: data)
    print(newUsers)
} catch {
    print("error: \(error)")
}

现在您不需要自己进行任何字符串解析。这恰好使用 JSON 来持久化数据,但该细节并不重要。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从第1行第2列(ListView)读取文本

来自分类Dev

未定义的变量:...在...第9行

来自分类Dev

将结果从第2行更改为第1行

来自分类Dev

在电子表格中找到第1行的文本并获取第2列

来自分类Dev

oracle sql-比较第1行和第2行,在第3行显示结果?

来自分类Dev

如何计算(第1行和第2行)与(第3行和第4行)之间的时间增量?

来自分类Dev

如何计算(第1行和第2行)与(第3行和第4行)之间的时间增量?

来自分类Dev

我收到错误1136列数与第1行SQL的变量计数不匹配

来自分类Dev

Bash引发错误,第8行:$ 1:未绑定变量

来自分类Dev

用bash变量替换文本文件行中的第5和第6个“单词”

来自分类Dev

注意:未定义变量:csvFile 在第 160 行,警告:fclose() 期望参数 1 为资源,第 160 行给出为空

来自分类Dev

无法从具有2行1列的CursorWindow中读取第1行,第1列

来自分类Dev

无法从具有2行1列的CursorWindow中读取第1行,第1列

来自分类Dev

无法从具有2行2列的CursorWindow中读取第1行第-1列

来自分类Dev

Aws Json异常-JSONObject文本必须在1 [字符2第1行]处以“ {”开头

来自分类Dev

JSONObject文本必须在1 [字符2第1行]处以'{'开头,错误为'{'

来自分类Dev

SQL-根据其他变量获取第N行

来自分类Dev

选择第n行并将其分配给变量

来自分类Dev

注意:未定义的变量:在第24行

来自分类Dev

未定义的变量:第18行的del

来自分类Dev

python正则表达式在第1行之后找到第1行和值,在第2行之后找到第2行和值...等

来自分类Dev

JSONObject文本必须在2 [字符3第1行]处以“ {”开头

来自分类Dev

如何用Bash中变量的值替换第i行的第j列

来自分类Dev

python csv迭代; 打印第1行和第2行,然后打印第2行和第3行,依此类推

来自分类Dev

VB解析文本文件,将第1列与变量匹配,将第2列传递给另一个变量

来自分类Dev

gnuplot参照第2行的符号更改第1行的颜色

来自分类Dev

将第1行和第2行复制为多余的列

来自分类Dev

第1行的数据太长

来自分类Dev

注意:第2行的C:\ xampp \ htdocs \ hoc \ get_session.php中的未定义变量:_SESSION

Related 相关文章

  1. 1

    从第1行第2列(ListView)读取文本

  2. 2

    未定义的变量:...在...第9行

  3. 3

    将结果从第2行更改为第1行

  4. 4

    在电子表格中找到第1行的文本并获取第2列

  5. 5

    oracle sql-比较第1行和第2行,在第3行显示结果?

  6. 6

    如何计算(第1行和第2行)与(第3行和第4行)之间的时间增量?

  7. 7

    如何计算(第1行和第2行)与(第3行和第4行)之间的时间增量?

  8. 8

    我收到错误1136列数与第1行SQL的变量计数不匹配

  9. 9

    Bash引发错误,第8行:$ 1:未绑定变量

  10. 10

    用bash变量替换文本文件行中的第5和第6个“单词”

  11. 11

    注意:未定义变量:csvFile 在第 160 行,警告:fclose() 期望参数 1 为资源,第 160 行给出为空

  12. 12

    无法从具有2行1列的CursorWindow中读取第1行,第1列

  13. 13

    无法从具有2行1列的CursorWindow中读取第1行,第1列

  14. 14

    无法从具有2行2列的CursorWindow中读取第1行第-1列

  15. 15

    Aws Json异常-JSONObject文本必须在1 [字符2第1行]处以“ {”开头

  16. 16

    JSONObject文本必须在1 [字符2第1行]处以'{'开头,错误为'{'

  17. 17

    SQL-根据其他变量获取第N行

  18. 18

    选择第n行并将其分配给变量

  19. 19

    注意:未定义的变量:在第24行

  20. 20

    未定义的变量:第18行的del

  21. 21

    python正则表达式在第1行之后找到第1行和值,在第2行之后找到第2行和值...等

  22. 22

    JSONObject文本必须在2 [字符3第1行]处以“ {”开头

  23. 23

    如何用Bash中变量的值替换第i行的第j列

  24. 24

    python csv迭代; 打印第1行和第2行,然后打印第2行和第3行,依此类推

  25. 25

    VB解析文本文件,将第1列与变量匹配,将第2列传递给另一个变量

  26. 26

    gnuplot参照第2行的符号更改第1行的颜色

  27. 27

    将第1行和第2行复制为多余的列

  28. 28

    第1行的数据太长

  29. 29

    注意:第2行的C:\ xampp \ htdocs \ hoc \ get_session.php中的未定义变量:_SESSION

热门标签

归档