여기에 코드 첨부. 이것은 API입니다 : 내가 추가 걸려표보기에 대한 API, 열 추가 및 새로 고침
"https://bittrex.com/api/v1.1/public/getmarketsummaries"가 "높음"및 "MarketName"옆에 열의 "낮은" 은 또한, 나는이 10 초마다 새로 고침합니다.
sendUpdateRequest()
에 대해 새로 고침 부분에 오류가 발생했습니다.
전체 코드는 다음과 같습니다
은 첫째, 당신은 viewDidLoad()
내부 sendUpdateRequest()
을 정의 : 여기에 코드 문제의
import UIKit
var listData = [[String : AnyObject]]()
class DemoJsonTableViewController: UITableViewController {
var listData = [[String : AnyObject]]()
override func viewDidLoad() {
super.viewDidLoad()
var timer : Timer? = nil
timer = Timer.scheduledTimer(timeInterval: 10, target: self, selector: (#selector(self.sendUpdateRequest)), userInfo: nil, repeats: true)
func sendUpdateRequest(){
let url:String = "https://bittrex.com/api/v1.1/public/getmarketsummaries"
let urlRequest = URL(string: url)
URLSession.shared.dataTask(with: urlRequest!) { (data, response, error) in
if(error != nil){
print(error.debugDescription)
}
else{
do{
var response = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [String:AnyObject]
self.listData = response["result"] as! [[String:AnyObject]]
DispatchQueue.main.async {
self.tableView.reloadData()
}
}catch let error as NSError{
print(error)
}
}
}.resume()
}
}
// MARK: - Table view data source
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.listData.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
let item = self.listData[indexPath.row]
cell.textLabel?.text = item["MarketName"] as? String
let lastValue = item["Last"] as? NSNumber
cell.detailTextLabel?.text = lastValue?.stringValue
print(self.listData.count)
return cell
}
이것은 완벽합니다. 나는이 프로젝트를 완수 할 절실히 필요하다. [email protected]에 저에게 연락을 주시면 전체 프로젝트를 보상 해 드리고 싶습니다. 다시 한 번 감사드립니다. –