저는 스위프트 3으로 xcode에서 앱을 만들고 있으며 앱에 여러 변수가 있습니다. 특정 변수가 값에있을 때 테스트하는 앱을 원한다면 어떤 뷰에 있더라도 새로운 뷰 컨트롤러로 이동하십시오. 나는 segues를 사용할 수 있다는 것을 알고 있지만, 많은 관점에서 이것은 지저분해진다. 내가 코드를 사용하거나 훨씬 더 간단하게 사용할 수있는 것이 있습니까? 감사합니다.새 뷰 컨트롤러로 강제 이동 (세그)
-1
A
답변
0
속성의 didSet
을 사용하고 뷰 컨트롤러를 제공 할 수 있습니다.
class TestVC : UIViewController {
var variable: Int = 10 {
didSet {
if variable == 20 {
present(someVC, animated: true)
}
}
}
}
class SomeVC : UIViewController {
func didFinishWhatever() {
dismiss(animated: true)
}
}
+0
내가보기 컨트롤러 이름을 현재 비트에 배치하는 코드를 시도하면 "TestViewController.type '유형의 값을 예상 인수 유형'UIViewController '로 변환 할 수 없습니다. " –
0
당신은 UIViewController
의 extension
과 변수의 값 변경 간단한 푸시/발표 할 때마다 거기에 만들 수 있습니다 ViewController
이 필요합니다.
0
당신은 스토리 보드 코드 줄하려고 사용하는 경우
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewController = storyboard.instantiateViewControllerWithIdentifier("SomeVCIdentifier")
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
귀하의 변수의 값이있는 조건에서 변수의 값이 모두 viewControllers에 대한 동일하게 유지됩니다? –
예 변수가 동일 할 것이며 모든 뷰에 대해 업데이트됩니다. –