2014-12-01 2 views
0

사용자 로그인을 허용하는 기본 앱을 만들고 있습니다.보기 컨트롤러를 통해 사용자 데이터 전달

저는 뷰 컨트롤러간에 사용자 데이터를 전달하는 일반적인 방법을 알고 싶었습니다. 사용자가 인증 된 후에는 일반적으로보기 컨트롤러를 통해 데이터를 전달할 수 있습니까?

예를 들어, 사용자 A가 로그인되어 있고 인증되었습니다. 사용자 A는 "이벤트 만들기"를 사용하여 사용자가이 이벤트를 호스팅하고 있음을 저장할 수 있도록 이벤트의 사용자 ID를 호스트로 저장해야하며 그의 UID에 대한 액세스가 필요합니다. 로그인 후에 사용자 ID를 저장하고 모든보기에 계속 전달 하시겠습니까?

도움이된다면 Firebase를 백엔드로 사용하고 있습니다.

답변

0

예, 필요에 따라보기 컨트롤러간에 데이터를 전달하는 것이 가장 좋습니다. 이를 수행하려면 일반적으로 prepareForSegue 방법을 사용해야합니다. 앱 위임자를 사용하여 많은 수의 글로벌 상태를 유지하는 데 너무 자주 사용되는 방식에 빠지지 마십시오. 그것은 나쁜 소식입니다. 보기 컨트롤러가 다시 "위로 올라서"필요한 것을 잡는 것보다 뷰 컨트롤러 계층 구조로 데이터를 전달하는 것이 더 깨끗하고 모듈화되어 있습니다.

2

당신은 "segues"라고 불리는 것에 대해 배워야합니다. 이것은 ios에서 뷰를 전환하는 기본 메커니즘입니다.

여기 http://makeapppie.com/2014/07/01/swift-swift-using-segues-and-delegates-in-navigation-controllers-part-1-the-template/

는 중포 기지를 사용하지 않은,하지만 당신은 자신이 처음부터 이벤트 데이터를 전달하는 경우 4 일을 할 것입니다 (BTW, 아니 개인 소속) 좋은 튜토리얼입니다.

  1. 은 대상 컨트롤러에 var를 선언합니다.
  2. 소스 컨트롤러에서 적절한 시간에 performSegueWithIdentifier 함수를 실행하면됩니다.
  3. 이 함수는 prepareForSegue 함수로 이동합니다 (이 함수의 내용은 새 컨트롤러로 전환하기 전에 반환하지 않는 마지막 지점과 같습니다). inside, var를 작성하십시오. 여기서 유형의 이름은 대상보기 제어기의 이름입니다.
  4. 도트 연산자를 사용하여 전달할 변수에 액세스하고 적절한 값을 지정하십시오.
관련 문제