2016-10-13 4 views
0

안녕하세요 저는이 의심을 가지고 다른 수업에서 새로 고침 컨트롤을 종료 할 수 있습니까? 내 tableviewcontroller에서 나는이있다 : 내가 tableviewcontroller다른 빠른 수업에서 어떻게 새로 고침을 끝낼 수 있습니까?

}

내 새로 고침을 종료 할 // 여기에

func attemptUpdateControl(){ 
     if !isUpdating && canPerformUpdate() { 
      isUpdating = true 
      performUpdateControl() 
     } else { 
      print("ERROR: - Update in progress") 
     } 
    } 

func performUpdateControl(){ 
     let reach = Reachability.reachabilityForInternetConnection()! 
     if reach.isReachable() { 
     work.getData() 
     } else { 
      UIAlertView(title: "Device without connection", message: "You must have an internet connection to use this feature", delegate: nil, cancelButtonTitle: "OK").show() 

:

func setRefreshGesture() { 
let refreshGesture = UIRefreshControl() 
refreshGesture.backgroundColor = UIColor.clearColor() 
refreshGesture.tintColor = UIColor.whiteColor() 
refreshGesture.addTarget(WorkUpdater.sharedInstance,action:#selector(WorkUpdater.attemptUpdateControl),forControlEvents:.ValueChanged)  
self.refreshControl = refreshGesture 
self.refreshControl?.layer.zPosition = self.tableView.backgroundView!.layer.zPosition + 1 
    } 

내 다른 클래스 ..

이 있습니다

}

답변

0

사용자 정의 Delegate 또는 NSNotifcationCenter을 사용하십시오. 귀하의 TableViewController 관계가 WorkUpdater과 어떤 관계인지 모르겠습니다.

NSNotifactionCenter으로 가능한 방법을 보여 드리겠습니다. 또한

func refreshCompleted() { 
    refreshGesture.endRefreshing()  //you have to set it as a class var 
} 

업데이트이 함께 WorkUpdater :

func performUpdateControl(){ 
    let reach = Reachability.reachabilityForInternetConnection()! 
    if reach.isReachable() { 
    work.getData() 
    } else { 
     UIAlertView(title: "Device without connection", message: "You must have an internet connection to use this feature", delegate: nil, cancelButtonTitle: "OK").show() 
    } 
    //add this   
    NSNotificationCenter.defaultCenter().postNotificationName("refreshCompleted", object: nil) 
} 
당신의 TableViewController에서

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.refreshCompleted), name:"refreshCompleted", object: nil) 

viewDidLoad이가 그런 다음 refreshCompleted FUNC가