내 프로젝트는 여전히 Swift 2.3을 사용 중이며 아직 Swift 3으로 마이그레이션되지 않았습니다. 다음 코드로 테이블 뷰를 끌어 올 때 디버깅 영역에서 새로 고친 데이터를 볼 수 있지만 테이블 뷰에는 반영되지 않음을 확인할 수 있습니다. 나는 IOS 9과 IOS 10 둘 다 시도했다.UIRefreshControl이 작동하지 않습니다.
var refreshControl = UIRefreshControl()
if #available(iOS 10.0, *) {
TableView.refreshControl = refreshControl
} else {
TableView.addSubview(refreshControl)
}
refreshControl.addTarget(self, action: #selector(self.handleRefresh), forControlEvents: UIControlEvents.ValueChanged)
func handleRefresh(refreshControl: UIRefreshControl) {
refreshControl.beginRefreshing()
Search()
TableView.reloadData()
refreshControl.endRefreshing()
}
검색() 함수를 비동기인가 스위프트 3에있을 때,
을 또는 : 그런 다음과 같이 함수를 호출 할 수 있을까? 그렇다면'reloadData()'메소드가 search()를 완료하기 전에 실행 중일 수 있습니다. 만약 비동기식이라면'reloadData()'와'endRefreshing' 호출을 search()로 옮기고 검색이 실제로 실행을 마치면 실행되도록하십시오. –