转换原始数据“ AnyObject?” 到NSData或String

C A*_*ond 4 iphone ios swift ios8

在过去的几天里,我一直被困在这里,在Stackoverflow和整个网络上阅读了无数的帖子,但仍然有些失落。(顺便说一下,我是Swift的新手)。

我有以下代码

Alamofire.request(.GET, "url") .response { (request, response, data, error) in printIn(data)}

这会在控制台中打印出一长串数字,这很完美,正是我所需要的。

但是,我现在想遍历这些并在特定索引处获取数字,因此想将其转换为字符串或NSData。

我已经尝试了许多不同的方法,但是还没有找到方法,如果有人可以帮助我,我将非常感激。

我尝试使用

Alamofire.request(.GET, "url")
    .responseString(encoding: NSASCIIStringEncoding) { (request, response, data, error) -> Void in
        println(data)
    }
Run Code Online (Sandbox Code Playgroud)

但这只会打印出一团糟。

非常感谢

克里斯

Rob*_*Rob 5

你说:

但是,我现在想遍历这些并在特定索引处获取数字,因此想将其转换为字符串或NSData

使用时response,该data参数实际上一个NSData。因此,只需将变量转换为适当的类型,您就可以开展业务,例如:

Alamofire.request(.GET, urlString)
    .response { (request, response, data, error) in
        if let data = data as? NSData {
            for i in 0 ..< data.length {
                var byte: UInt8!
                data.getBytes(&byte, range: NSMakeRange(i, 1))
                print(String(format: "%02x ", byte))
            }
        }
}
Run Code Online (Sandbox Code Playgroud)

在我的示例循环中,仅记录了byte变量的十六进制字符串表示形式,但这是一个数字值,您可以根据需要执行任何操作。