我正在尝试从我的API读取数据。我没有使用JSON数据,因为API不返回数组,只返回一行文本。无论如何,我使用以下代码来阅读API中的文本。
func contactVetApi(url:String){
let nsUrl = NSURL(string:url)
let task = NSURLSession.sharedSession().dataTaskWithURL(nsUrl!){
(data, response, error) in
print(data)
}
task.resume()
}
我在ViewController文件的ViewDidLoad函数中调用此函数。如您所见,它需要一个字符串参数。该参数是要读取的URL。然后它将字符串转换为NSUrl,以便它可以与sharedSession一起使用。然后,我初始化共享会话并使用该URL创建数据任务。然后我打印出它返回的数据。唯一的问题是输出不是我所期望的。我所期待的是它说,“未来的家庭非常酷。”虽然,这就是我所得到的。
可选(< 46757475 72652068 6f6d6520 6f662073 6f6d6574 68696e67 20717569 74652063 6f6f6c>) 可选(< 46757475 72652068 6f6d6520 6f662073 6f6d6574 68696e67 20717569 74652063 6f6f6c>)
我需要帮助弄清楚为什么打印出来而不是我期待的。如果需要,api url为http://apis.wilsonfamily5.org/vet/about.php。在任何人问之前,我确实在info.plist文件中添加了禁用iOS 9 app传输安全性的功能。如果您需要任何额外信息来帮助我解决这个问题,我会更乐意将它交给您。我想提前感谢你。
答案 0 :(得分:1)
您当前正在打印一个NSData
对象,它总是看起来像是乱七八糟。但您真正想要的是将NSData
转换为NSString
或String
以创建一个人类可读的形式:
var dataAsString = NSString(data: data, encoding: NSUTF8StringEncoding)
取自this answer。