2017-12-29 88 views
0

신속한 작업을하고 있습니다. 그래서 우리 프로젝트에서는 7 개의 컨트롤러와 변수를 사용했습니다.이 컨트롤러는 7 개의 컨트롤러 모두에서 사용했습니다. 내 질문은 어떻게 내 변수 (첫 번째 컨트롤러)의 값을 변경하여 자동으로 모든 컨트롤러에서 업데이트되도록하는 것입니다.여러 컨트롤러에서 변수 값 전달/업데이트

올바른 수행 방법은 무엇이며 어떻게 진행할 수 있습니까?

답변

0

사용 싱글 톤 클래스

class GlobalObjects { 
    static let shared = GlobalObjects() 
    fileprivate init() { 
    } 
    var MyDetail : User! 
} 

사용 : 싱글 톤 클래스 변수를 사용하여 viewWillAppear 방법

print(GlobalObjects.shared.MyDetail) 
  1. 업데이트 값.

또는

  1. 사용 NotificationCenter는, 당신은 변수의 didSet에있는 posibility을 사용할 수있는 값
-1

를 업데이트하기 위해 7 컨트롤러 및 사후 통지의 모두에 옵저버를 추가 . 이 같은 것이

var yourVariable: Any? = nil { 
    didSet { 
      yourActionToUpdateUI() 
    } 
}