【问题标题】:Store JSON data in NSUserDefaults Swift 2在 NSUserDefaults Swift 2 中存储 JSON 数据
【发布时间】:2016-03-24 19:53:37
【问题描述】:

我是编码新手。我有返回不同参数的 JSON 请求,例如“unitid”和“buldingid”。 我想通过 NSUserDfaults 存储“buldingid”。我使用下面的代码来存储它,但每次我得到“buldingid”的零响应。

阅读:

 NSUserDefaults.standardUserDefaults().setObject(buildingid, forKey: "buildingidKey")
 NSUserDefaults.standardUserDefaults().synchronize()

写作:

let buildingid: [NSString]? = NSUserDefaults.standardUserDefaults().objectForKey("buildingidKey") as? [NSString]

我将它保存在标签中,然后存储在 NSUserDfaults 中,但它不起作用(错误:尝试插入非属性列表对象)

我应该怎么做才能得到“buldingid”的正确响应?

谢谢!

【问题讨论】:

    标签: json swift2 ios9 nsuserdefaults


    【解决方案1】:

    我想从你的代码中buildingid 是一个字符串,所以这样的东西应该可以工作:

    NSUserDefaults.standardUserDefaults().setObject(String(buildingid), forKey: "buildingidKey")
    NSUserDefaults.standardUserDefaults().synchronize()
    

    应该像这样检索它:

    let buildingid = NSUserDefaults.standardUserDefaults().stringForKey("buildingidKey")
    

    【讨论】:

    • 感谢您的回答。它现在不会崩溃 :) 我在 xcode 日志PostData: buildingid=Optional("<UILabel: 0x7f9b99f99150; frame = (63 11; 0 0); text = \'hasan\'; opaque = NO; autoresize = RM+BM; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x7f9b99f64ce0>>")&year=1394&month=11 中收到此消息,但在应用程序@Thomas 中仍然没有得到正确的响应
    • 哦,我明白了,buildingid 是标签!这意味着您要保存的对象应该是buildingid.text 而不仅仅是buildingid(在上面代码片段的第一行中),
    • 情况正在好转,但仍然无法得到正确的响应这是我应该从 url 得到的:{ "Daramad": "200000", "Hazine": "0", "Mojudi": "200000" },这就是我的日志现在显示的内容:2016-03-25 09:37:09.252 Apa Pay[575:6361] PostData: buildingid=Optional("Optional(\"hasan\")")&year=1394&month=11 2016-03-25 09:37:19.259 Apa Pay[575:6361] Response code: 200 2016-03-25 09:37:19.259 Apa Pay[575:6361] Response ==> {"Daramad":"0","Hazine":"0","Mojudi":"0"}
    • 谢谢我已经添加了一个!写代码结束:)
    猜你喜欢
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多