7MB JSON 파일을 다운로드하고 그 후에 영역에 데이터 (30000 데이터 집합)를 추가하고 싶습니다.스위프트 : 영역 - DB에 데이터를 추가하는 동안 UI (진행) 업데이트
는 UI (라벨 또는 무언가)를 업데이트 할 수 없습니다 데이터 집합 통해 반복하면서
let manager = Alamofire.SessionManager.default
manager.session.configuration.timeoutIntervalForRequest = 20
manager.request("http://myURL.json")
.downloadProgress { progress in
self.TitelLabel.text = "loading File :\(String(format: "%.0f", progress.fractionCompleted * 100))%"
}
.responseJSON { response in
print(response.request! as Any)
switch response.result {
case .success:
if let value = response.result.value {
self.jsonObj = JSON(value)
print(self.jsonObj.count)
for i in 0..<self.jsonbj.count{
self.TitelLabel.text = "..adding " + i + " article"
let article = Articles()
articles.price = self.jsonObj[i]["price"].stringValue.replacingOccurrences(of: "'", with: "´")
article.title = self.jsonObj[i]["title"].stringValue.replacingOccurrences(of: "'", with: "´")
article.path = self.jsonObj[i]["path"].stringValue
article.name = self.jsonObj[i]["name"].stringValue
article.weight = self.jsonObj[i]["weight"].stringValue
try! realm.write {
realm.add(article)
}
}
}
default:
break
}
}
}
나는 퍼센트의 진행을 표시하는 라벨을 변경하기 위해 무엇을 할 수 있는가?
먼저 30000 개의 트랜잭션 대신 30 개의 트랜잭션에 30000 개의 항목을 추가 할 수 있습니다. 성능 향상에 도움이 될 것입니다. – EpicPandaForce
무엇이 문제입니까? –