ClassB.m 뷰를로드 한 후에 ClassA.m의 변수 값에 액세스해야하지만 ClassA에서 ClassB로 뷰를 전환 할 때 클래스 A의 변수가 삭제 된 것처럼 보입니다. ClassA에서이 변수를 유지하는 가장 좋은 방법은 무엇입니까? 자바에서 이것은 정적 변수의 형태로 다소 쉽습니다. 그러나 Objective-C에서 이러한 개념을 알지 못합니다. "extern"변수를 사용하는 것이 좋습니다면, 그 변수 유형도 뷰 전환 후에 손상된 것으로 보입니까? 아마도 내가 잘못 구현 한 것이지만 당신의 생각은 무엇입니까? 첫 번째보기를 닫은 후에 두 번째보기에서 변수의 값을 어떻게 유지합니까?보기 컨트롤러를 전환 한 후 변수 값을 유지하는 방법은 무엇입니까?
1
A
답변
2
새 viewcontroller에서 속성을 만들고 현재 viewcontroller의 변수를 new로 전달할 수 있습니다. exp를 보아라.
DetailsViewController *detailsviewcontroller = [[DetailsViewController alloc] initWithNibName:@"EventDetailsViewController" bundle:nil];
eventdetailsviewcontroller.event = localvar;
[self.navigationController pushViewController:detailsviewcontroller animated:YES];
1
지금은 정적 변수를 잊어 버립니다. 그 아이디어는 에 관계없이 객체가 해당 뷰의에 관계없이 유지되도록하려는 것입니다. 그것이 mediator pattern입니다. 기본적으로 콘트롤러 컨트롤러를 갖기를 원한다. (컨트롤러를 싱글 톤으로 만들어야한다.) 컨트롤러는 뷰가오고가는 동안 유지하고 싶은 모든 변수에 대한 참조를 유지할 수있다.
이렇게하면 잠재적으로 관련없는 컨트롤러 간의 종속성을 줄이고 접착제 코드를 줄이는 코드로 분리 할 수 있습니다.
나는 비슷한 대답을 here에게 주었다.
-2
Objective-C에서 정적 변수를 사용할 수 있습니다. Test.m 파일의 예입니다.
static NSMutableDictionary* single = nil;
@implementation Test
@end
관련 문제
- 1. 보기 컨트롤러를 전환 한 후 태그 추가
- 2. 뷰 컨트롤러를 스택에서 팝 한 후 메모리에 유지하는 방법은 무엇입니까?
- 3. 보기 컨트롤러를 올바르게 표시하는 방법은 무엇입니까?
- 4. 보기 컨트롤러를 완전히 종료하는 방법은 무엇입니까?
- 5. 보기 컨트롤러를 전환 할 때 UIDatePicker 및 UITextField 값을 유지하는 방법?
- 6. 양식에 제출 한 후 확인 된 값을 유지하는 방법은 무엇입니까?
- 7. django에서 제출 한 후 선택 옵션 값을 유지하는 방법은 무엇입니까?
- 8. jsp에서 새로 고침 한 후 양식 값을 유지하는 방법은 무엇입니까?
- 9. 제출 후 편집 한 텍스트 상자 값을 유지하는 방법은 무엇입니까?
- 10. ngRoute/$ routeProvider보기 및 컨트롤러를 유지하는 방법은 무엇입니까?
- 11. 보기 컨트롤러를 전환 할 때 uiview가 중복되었습니다.
- 12. 보기 컨트롤러를 전환 할 때 오류가 발생했습니다.
- 13. 클래스를 다시로드 한 후 변수 값을 유지하는 방법
- 14. 보기 컨트롤러를 백그라운드에서 실행하는 방법은 무엇입니까?
- 15. 보기 컨트롤러를 프로그래밍 방식으로 전환 할 때 전환 유형 변경
- 16. 비동기 작업을 위해보기 컨트롤러를 활성 상태로 유지하는 방법은 무엇입니까?
- 17. 탭 전환 후 스크롤 위치를 유지하는 방법은 무엇입니까?
- 18. 보기 컨트롤러를 전환 할 때 텍스트 필드의 텍스트를 지속적으로 유지하십시오.
- 19. 보기 컨트롤러를 스크롤 가능하게 만드는 방법은 무엇입니까?
- 20. 보기 컨트롤러를 한 번만 표시하는 방법 IOS7
- 21. 목표 C :보기 전환 후 음악 끄기
- 22. 보기 컨트롤러를 종료 한 후 콜백 블록을 호출하지 마십시오.
- 23. 보기 컨트롤러를 서로 연결하거나 한 번만 초기화하십시오.
- 24. 보기 페이지를로드 한 후 추가 옵션을 밀어 넣는 방법은 무엇입니까?
- 25. 보기 컨트롤러 전환
- 26. 보기 전환
- 27. 뷰 컨트롤러를 전환 한 후 NSTimer가 두 번 트리거 됨
- 28. 새로 고침 후 localStorage 값을 html로 유지하는 방법은 무엇입니까?
- 29. 여러 메서드 호출간에 변수 값을 유지하는 방법은 무엇입니까?
- 30. 카운터 변수를 변경 한 후에 값을 유지하는 방법은 무엇입니까?