【发布时间】:2015-09-19 16:29:29
【问题描述】:
我正在使用 swift 创建 iOS 应用程序。 XCODE 6.3 版 我将 NSData 存储在 NSString 中。这是它的代码。
var strData = NSString(data: data, encoding: NSUTF8StringEncoding)
现在 strData 包含这样的值。
**strData: Optional({"result":true,"user_id":2,"role_id":2,"msg":"Signed in successfully.”})**
我想将 user_id 和 role_id 存储在 2 个单独的字符串中。
为此,首先我将 NSString 更改为 Swift 中的普通字符串
var strData = NSString(data: data, encoding: NSUTF8StringEncoding)
as String?
当我们打印 strData 时,输出会是这样的。
**strData: Optional("{\"result\":true,\"user_id\":2,\"role_id\":2,\"msg\":\"Signed in successfully.\"}”)**
在我看来,字符串的格式是字典[键值对]
所以我创建了一个这样的字典,
var lognInDetails = Dictionary<Int, String>()
self.lognInDetails[1] = strData
并将字符串存储到字典中。
一切正常
问题是我想根据键从字典中检索值。
对于 user_id 键,我想存储值 2。
我使用了这个代码,
self.userid = self.lognInDetails[ 1 , "user_id"] as Dictionary<Int, String>
这里的 userid 是一个字符串变量。 我只是 swift 的初学者。我有兴趣了解有关 swift 和 Objective-C 的更多信息。感谢您的帮助。
【问题讨论】:
-
您的数据包含JSON。查找
NSJSONSerialization。 SO上有很多关于JSON的问答。 -
实际上我正在将数据发布到服务器。你是对的,我正在使用 NSJSONSerialization,这里我传递了一个字典。根据我的问题,这里 NSData 是来自服务器的成功响应,{result: true, user_id : 1, role_id: 1} 这是登录成功时服务器的响应。
标签: ios string swift dictionary