보유하고있는 클래스가 viewController에 연결되어 있지 않은 경우 어떻게 구현할 클래스 함수를 사용할 수 있습니까?클래스 함수를 통해 다른 Swift 파일에서 Segue 수행
답변
, 당신은 뷰 컨트롤러의 인스턴스가 필요합니다 - 예를 들면 :이 낙담 그러나
class MyViewController {
}
class MyClass {
showNextView(fromViewController: UIViewController) {
fromViewController.performSegueWithIdentifier("segue_id", sender: fromViewController)
}
}
상호 작용의 종류. 보기 컨트롤러에게보기를 표시하는 방법을 알려주지 마십시오. 직접보기 만하면됩니다.
class MyViewController {
...
func goToNextView() {
performSegueWithIdentifier("segue_id", sender: self)
}
}
및 전환하기 위해 그것을 사용 :
그래서, 당신의 뷰 컨트롤러의 인스턴스 메서드를 만드는 제안은 클래스 레벨 함수의 경우
class MyClass {
showNextView(fromViewController: MyViewController) {
fromViewController.goToNextView()
}
}
안녕하세요, 다음과 같이 moveToScreen() 함수가있는 HomViewController가 있습니다 : func moveToScreen() {self.performSegueWithIdentifier "ListReport", 보낸 사람 : 자기)}. 그리고 "ListReport"식별자를 설정합니다. 이제 파일을 만들 때 : class Build {let home = HomViewController()} home.moveToScreen()}은 오류로 인해 충돌합니다. 식별자가 'ListReport'인 segue가 없습니다. 왜 그것은 추락입니까? – AmyNguyen
MyClass의 @Antonio'fromViewController.goToNextView()는 호출되지 않습니다. 나는 중괄호 안에 print 문을 넣었고 아무 것도 출력되지 않았다. – bibscy
@Antonio, 여기에 질문을 게시했습니다. http://stackoverflow.com/questions/42458405, 도와 주시면 감사하겠습니다. 감사 – bibscy
현재 표시되는보기 컨트롤러에 "performSegueWithIdentifier"를 사용하여 segue하도록 지시 할 수 있습니다.
분명히 보이는 컨트롤러에 대한 참조가 필요합니다. 당신의 방법을 사용 내부
:
SEGUE가에서 유래 어디 SEGUE을 수행하기 위해currentViewController.performSegueWithIdentifier("push", sender: currentViewController)
viewController가 아닌 클래스 함수를 호출하려고합니다. 내 함수를 호출하여 어떻게 segue를 수행 할 수 있습니까? 예를 들어. licenseAgent.checkLicense() 해당 기능 내에서 라이센스를 확인하고 현재 라이센스가없는 경우 사용을 로그 아웃하고 싶습니다. –
당신은 현재 뷰 컨트롤러의 레퍼런스를 해당 함수/클래스에 삽입하고 "performSegueWithIdentifier"메서드를 호출해야합니다. – joakim
- 1. 다른 컨트롤러에서 segue 수행
- 2. Swift Modally Segue
- 3. Swift - Dynamic TableCell의 Segue
- 4. 조건부 segue 수행 방법
- 5. 버튼이 다른 파일에서 작업 수행 (빠른)
- 6. Swift - Segue 버튼 셀 안에서
- 7. 대리자 메서드에서 segue 수행
- 8. 다른 클래스 파일에서 함수를 호출하는 방법
- 9. accessoryButton을 사용하여 segue 수행
- 10. UIBarButtonItem에서 segue 수행
- 11. 비동기 블록에서 segue 수행
- 12. TableViewCell의 단추에서 Segue 수행
- 13. segue 수행 방법
- 14. Dismissviewcontroller 및 수행 SEGUE
- 15. 링크가없는 VC 사이의 Swift Segue
- 16. GameScene에서 viewController로 Segue Swift 3
- 17. iOS Storyboard가없는 TableView 셀의 Swift Segue
- 18. 프로그래밍 방식으로 정의하고 수행 segue
- 19. 프로그래밍 방식으로 Xib에서 Segue 수행
- 20. UITableViewCell의 탭에서 조건부 segue 수행
- 21. 신속한 수행 googleSignin 후 segue
- 22. 다른 파일에서 공용 클래스 호출하기
- 23. 'show'를 통해 뷰 컨트롤러로 돌아갈 때 액션 수행 segue
- 24. 커스텀 슬라이드 Segue - Xcode 8.0 Swift 3.0
- 25. 현재 프레젠테이션 완료 후 segue 수행 방법
- 26. if-else Swift 이후 원치 않는 segue
- 27. Swift 3 사용 된 segue 확인
- 28. iOS 9 Swift Segue from TextField
- 29. 함수를 통해 이름없는 클래스 전달
- 30. Swift Animations - 시퀀스 수행
를, 그것은 가능한 곳을 인스턴스를 만들 필요없이 클래스를 가져옵니다. 'IBOutlet'에서'YourClass.function()'을 호출하십시오. –
@IanMacDonald 그 기능이 있습니다. 나는 호출 된 함수가 segue를 수행하기를 원한다. 그게 가능하니? –
정의에 의한 클래스 함수는 클래스의 특정 인스턴스와 관련이 없으므로 'performSegue ...'와 같은 인스턴스 메소드 나 'storyboard'와 같은 인스턴스 속성에 액세스 할 수 없습니다. 인스턴스 함수가 아닌 클래스 함수가 있어야합니다. 안토니오의 답변에 사용 된 인스턴스 함수가 실제로있는 것처럼 들리지만. –