내보기 컨트롤러 중 하나에 여러 개의 UISwitches가 있으며 다른보기 컨트롤러에서 If/및 문에 대한 UISwitches 값에 액세스 할 수있게하려고합니다. Objective-c에서 어떻게합니까?보기 컨트롤러 간 통신
1
A
답변
0
아마도 그렇게하고 싶지는 않을 것입니다. 두 번째 ViewController가 첫 번째 스위치에서 던져진 스위치에 따라 다른 동작을하도록하려면 스위치를 사용자 기본값으로 바인딩하면됩니다. 사용자 기본값은 앱의 어느 곳에서나 읽을 수 있습니다.
1
이것은 뷰 컨트롤러 간의 불필요한 의존성을 작성하는 것처럼 나쁜 생각입니다.
그래도이 작업을 수행하려면 스위치가있는 첫 번째보기 컨트롤러의 참조를 두 번째보기 컨트롤러로 전달하십시오. 그런 다음 두 번째보기 컨트롤러에서 해당 UISwitch의 on
속성에 액세스하면됩니다.
그러나 그 경로로가는 대신 사용자 지정 클래스를 만들어 각 UISwitch의 부울 상태를 유지하는 것이 좋습니다. 이 클래스의 인스턴스는 싱글 톤이거나 응용 프로그램 대리자에 포함될 수 있습니다. 두 접근법을 사용하는 방법은 answer을 참조하십시오.
UISwitch가 데이터 모델의 일부 속성을 나타내는 방법 일뿐만 아니라 사용자 지정 클래스가 더 좋습니다. 그리고 내일 UISwitch를 다른 컨트롤로 대체하면 두 번째보기 컨트롤러가 계속 작동해야합니다. 두보기 컨트롤러에는이 사용자 지정 클래스의 개체에 대한 참조가 있습니다. 변경이있을 때마다 첫 번째 컨트롤러가이 개체를 업데이트합니다.
나는 마침내 cdespinosa의 제안을 사용하지만@interface DataValues : NSObject {
BOOL first;
BOOL second;
BOOL third;
}
@property BOOL first;
@property BOOL second;
@property BOOL third;
관련 문제
- 1. 보기 컨트롤러 사이의 통신
- 2. 보기 컨트롤러
- 3. 보기 /보기 컨트롤러 재사용 하시겠습니까?
- 4. 보기 간 전환
- 5. 보기 간 전환
- 6. 보기 내에서의 교차 컴포넌트 통신
- 7. 간단한 프로세스 간 통신
- 8. 자바 프로세스 간 통신
- 9. 파이썬 프로세스 간 통신
- 10. Webpart의 컨트롤 간 통신
- 11. PostgreSQL의 데이터베이스 간 통신
- 12. 프로세스 간 통신
- 13. 프로세스 간 통신
- 14. .net과의 프로세스 간 통신
- 15. jQuery : 플러그인 간 통신
- 16. 개체 간 통신 방법
- 17. 파이썬 컴퓨터 간 통신
- 18. PySide의 스레드 간 통신
- 19. Prism4의 모듈 간 통신
- 20. 도메인 간 iframe 통신
- 21. 모듈 간 통신
- 22. SMTP : 서버 간 통신
- 23. 애플릿 간 통신
- 24. 아이폰의 애플리케이션 간 통신
- 25. lifteray의 포틀릿 간 통신
- 26. 도메인 간 통신
- 27. Java 프로세스 간 통신
- 28. DotNetNuke 모듈 간 통신
- 29. ViewModels 간 통신 방법
- 30. .NET에서 프로그램 간 통신
가, 그것은 주목해야합니다 솔루션뿐만 아니라 잘 일한 :
클래스 인터페이스는 다음과 같이 될 수 있습니다. –