[ Swift ] http data 가져오기 data trimming
2020. 10. 15. 17:58ㆍSwift
import UIKit
import Foundation// replacingOccurrences을 사용하기 위해서
class ViewController: UIViewController {
@IBOutlet weak var txtResponse: UITextView!
let strUrl : String = "http://192.168.0.11:3000"
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func onHttpRequest(_ sender: Any) {
let api = strUrl + "/users"
//URL에 한글이 있기 때문에 인코딩 해준다
let encoding = api.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
//URL생성
let url = URL(string: encoding!)
if let _url = url {
var request = URLRequest(url: _url)
request.httpMethod = "get" //get : Get 방식, post : Post 방식
//header 설정
request.setValue("", forHTTPHeaderField: "")
//post body 설정
var requestBody : String = ""
request.httpBody = requestBody.data(using: .utf8)
let session = URLSession.shared
let task = session.dataTask(with: request, completionHandler: { (data: Data?, response: URLResponse?, error: Error?) in
//error 일경우 종료
guard error == nil && data != nil else {
if let err = error {
print(err.localizedDescription)
}
return
}
//data 가져오기
if let _data = data {
if let strData = NSString(data: _data, encoding: String.Encoding.utf8.rawValue) {
var str = String(strData)
print(str)
str = str.trimmingCharacters(in: ["[","]"])
str = str.replacingOccurrences(of: "\"", with: "")
str = str.replacingOccurrences(of: ",", with: "\n")
print(str)
//메인쓰레드에서 출력하기 위해
DispatchQueue.main.async {
self.txtResponse.text = str
}
}
}else{
print("data nil")
}
})
task.resume()
}
}
}
>>rawData
replacingOccurence 후에
'Swift' 카테고리의 다른 글
[ Swift ] 단축키 (0) | 2020.10.27 |
---|---|
[ Swift ] DispatchQueue (0) | 2020.10.21 |
[ Swift ] @IBAction 소스 분석해보기 (0) | 2020.10.14 |
[ Swift ] Tuples (0) | 2020.10.06 |
[ Swift ] Optional (0) | 2020.10.05 |