В моем приложении есть два контроллера представления и встроены в контроллер навигации. Я использую swift 2 и Xcode 7.1.1 Чтобы управлять всем кодом, связанным с загрузкой, самым простым способом я хочу переместить этот код в новый класс. Проблема заключается в управлении деятельностью UIActivityIndicatorView из этого класса. здесь вы являетесь кодом в моем контроллере. теперь работают отлично.управлять UIActivityIndicatorView из другого класса
class VC2: UITableViewController, DetailVC2Delegate {
var privateDB: CKDatabase!
let spinner:UIActivityIndicatorView = UIActivityIndicatorView()
override func viewDidLoad() {
super.viewDidLoad()
...
configuraSpinner()
self.spinner.startAnimating()
fetchChild(parent)
}
func configuraSpinner(){
spinner.activityIndicatorViewStyle = .Gray
spinner.center = self.view.center
spinner.hidesWhenStopped = true
spinner.color = UIColor.redColor()
self.parentViewController?.view.addSubview(spinner)
}
и в этом классе я управлять активностью в работе блока, как это:
func fetchChild(parent: CKRecord){
//...
//...
queryOperation.queryCompletionBlock = { cursor, error in
if (error != nil) {
print(".... - \(error!.localizedDescription)")
} else {
print("....")
if self.spinner.isAnimating() {
dispatch_async(dispatch_get_main_queue(), {
self.spinner.stopAnimating()
})
}
//...
privateDB.addOperation(queryOperation)
}
Итак, вопрос в том, перенести этот код в другом классе, и от этого нового класса смогут начать, остановитесь и спросите состояние счетчика.
любое предложение?
Вы можете добавить делегаты/блоки для обработки событий из других классов. –