Am1*_*rFT 6 api type-conversion ios swift
我正在用 Swift 编码。API返回一个Data,需要转换为Int!我应该怎么办?
我需要的回复如下所示:
12345
但当我打印数据时我得到的想法是:
可选(5字节)
API 返回一个 Int (不是 JSON)
//send HTTP req to register user
let myUrl = URL(string: "http://app.avatejaratsaba1.com/api/Person/Create")
var request = URLRequest(url: myUrl!)
request.httpMethod = "POST" // compose a query string
request.addValue("application/json", forHTTPHeaderField: "content-type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
let postString = ["name" : name.text!,
"isLegal" : FinalLegalSegment,
"codeMelli" : National_ID.text! ] as [String : Any]
do {
request.httpBody = try JSONSerialization.data(withJSONObject: postString, options: .prettyPrinted)
}catch let error {
print(error.localizedDescription)
self.DisplayMessage(UserMessage: "1Something went wrong , please try again!")
return
}
let task = URLSession.shared.dataTask(with: request)
{
(data : Data? , response : URLResponse? , error : Error?) in
self.removeActivtyIndicator(activityIndicator: MyActivityIndicator)
if error != nil
{
self.DisplayMessage(UserMessage: "2Could not successfully perform this request , please try again later.")
print("error = \(String(describing : error))")
return
}
else
{
print("////////////////////////////////")
print("data has been sent")
}
}
task.resume()
Run Code Online (Sandbox Code Playgroud)
小智 9
可以使用 withUnsafeBytes 来获取指针并加载整数
let x = data.withUnsafeBytes({
(rawPtr: UnsafeRawBufferPointer) in
return rawPtr.load(as: Int32.self)
})
Run Code Online (Sandbox Code Playgroud)
rawPtr 是不安全的rawbufferpointer,load() 有助于将值返回给x。这可用于获取任何整数。rawPtr 是一个临时指针,不能在块之外使用它。
自 Swift 5 和旧版本以来可用
public func withUnsafeBytes<ResultType, ContentType>(_ body: (UnsafePointer<ContentType>) throws -> ResultType) rethrows -> ResultType
Run Code Online (Sandbox Code Playgroud)
已弃用。
首先将数据转换为字符串(如blow),然后使用该字符串初始化 int
let stringInt = String.init(data: yourdata, encoding: String.Encoding.utf8)
let int = Int.init(stringInt ?? "")
Run Code Online (Sandbox Code Playgroud)
这将返回一个可选值,您可以解开该值以进一步使用
| 归档时间: |
|
| 查看次数: |
18080 次 |
| 最近记录: |