찾다

 >  Q&A  >  본문

objective-c - iOS 开发如何实现 push 出来的 Controller 在 pop 回上一页面的时候不释放?

发现 QQ ,微信等在 Push 进 好友动态、朋友圈 这些页面的时候,总能保留在上一次进入时候最后浏览到的位置。这是如何实现的呢?

高洛峰高洛峰2889일 전366

모든 응답(9)나는 대답할 것이다

  • PHPz

    PHPz2017-04-18 09:20:36

    viewController에 대한 강력한 참조만 있으면 됩니다

    으아악

    이런 방식으로, 팝된 후에도 viewController는 여전히 이를 가리키는 강력한 참조를 갖고 있으며 지워지지 않습니다. 다음에 푸시할 때에도 여전히 viewController로 푸시하세요

    회신하다
    0
  • 怪我咯

    怪我咯2017-04-18 09:20:36

    실제로는 캐시여야 합니다

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-18 09:20:36

    가장 간단한 방법은 전체 앱 수명 주기에 인스턴스가 하나만 있는 싱글톤으로 만드는 것입니다. 초기화 중에 한 번 생성하고 나머지 시간에는 사용하세요.

    회신하다
    0
  • 黄舟

    黄舟2017-04-18 09:20:36

    오프셋 등과 같은 페이지 속성을 저장할 수 있습니다

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-04-18 09:20:36

    시간 제한이 있으니 잠시 후 다시 눌러 페이지에 들어가시면 팝업 화면이 계속 나오겠죠? 나가는 시간과 재입장하는 시간의 차이만 판단하면 됩니다. 시간차가 시차보다 작으면 인터페이스가 나타납니다. 인터페이스가 새로 고쳐집니다.

    회신하다
    0
  • 黄舟

    黄舟2017-04-18 09:20:36

    푸시 및 팝 메소드를 직접 구현하세요

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:20:36

    다음 vc를 속성으로 작성한 후 푸시

    회신하다
    0
  • PHPz

    PHPz2017-04-18 09:20:36

    페이지를 공개하지 마세요

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-18 09:20:36

    APP에 Moments 같은 게 딱 하나 있는데, 싱글톤으로 만드는 게 더 나은 것 같아요. 확인해 보니 네트워크 연결이 끊겼을 때 잡아당겨 보면 로딩 중이라고 나오네요. 다시 들어가서 들어가봐도 여전히 로딩 중이라고 나오네요. 풀리지 않은 느낌입니다.
    그리고 데이터도 캐시되어 인터넷 연결을 끊고 앱을 종료한 후 다시 접속하면 친구 서클에서 이전에 새로 고침된 데이터를 볼 수 있습니다

    회신하다
    0
  • 취소회신하다