发现 QQ ,微信等在 Push 进 好友动态、朋友圈 这些页面的时候,总能保留在上一次进入时候最后浏览到的位置。这是如何实现的呢?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
viewController에 대한 강력한 참조만 있으면 됩니다
이런 방식으로, 팝된 후에도 viewController는 여전히 이를 가리키는 강력한 참조를 갖고 있으며 지워지지 않습니다. 다음에 푸시할 때에도 여전히 viewController로 푸시하세요
실제로는 캐시여야 합니다
가장 간단한 방법은 전체 앱 수명 주기에 인스턴스가 하나만 있는 싱글톤으로 만드는 것입니다. 초기화 중에 한 번 생성하고 나머지 시간에는 사용하세요.
오프셋 등과 같은 페이지 속성을 저장할 수 있습니다
시간 제한이 있으니 잠시 후 다시 눌러 페이지에 들어가시면 팝업 화면이 계속 나오겠죠? 나가는 시간과 재입장하는 시간의 차이만 판단하면 됩니다. 시간차가 시차보다 작으면 인터페이스가 나타납니다. 인터페이스가 새로 고쳐집니다.
푸시 및 팝 메소드를 직접 구현하세요
다음 vc를 속성으로 작성한 후 푸시
페이지를 공개하지 마세요
APP에 Moments 같은 게 딱 하나 있는데, 싱글톤으로 만드는 게 더 나은 것 같아요. 확인해 보니 네트워크 연결이 끊겼을 때 잡아당겨 보면 로딩 중이라고 나오네요. 다시 들어가서 들어가봐도 여전히 로딩 중이라고 나오네요. 풀리지 않은 느낌입니다. 그리고 데이터도 캐시되어 인터넷 연결을 끊고 앱을 종료한 후 다시 접속하면 친구 서클에서 이전에 새로 고침된 데이터를 볼 수 있습니다
viewController에 대한 강력한 참조만 있으면 됩니다
으아악이런 방식으로, 팝된 후에도 viewController는 여전히 이를 가리키는 강력한 참조를 갖고 있으며 지워지지 않습니다. 다음에 푸시할 때에도 여전히 viewController로 푸시하세요
실제로는 캐시여야 합니다
가장 간단한 방법은 전체 앱 수명 주기에 인스턴스가 하나만 있는 싱글톤으로 만드는 것입니다. 초기화 중에 한 번 생성하고 나머지 시간에는 사용하세요.
오프셋 등과 같은 페이지 속성을 저장할 수 있습니다
시간 제한이 있으니 잠시 후 다시 눌러 페이지에 들어가시면 팝업 화면이 계속 나오겠죠? 나가는 시간과 재입장하는 시간의 차이만 판단하면 됩니다. 시간차가 시차보다 작으면 인터페이스가 나타납니다. 인터페이스가 새로 고쳐집니다.
푸시 및 팝 메소드를 직접 구현하세요
다음 vc를 속성으로 작성한 후 푸시
페이지를 공개하지 마세요
APP에 Moments 같은 게 딱 하나 있는데, 싱글톤으로 만드는 게 더 나은 것 같아요. 확인해 보니 네트워크 연결이 끊겼을 때 잡아당겨 보면 로딩 중이라고 나오네요. 다시 들어가서 들어가봐도 여전히 로딩 중이라고 나오네요. 풀리지 않은 느낌입니다.
그리고 데이터도 캐시되어 인터넷 연결을 끊고 앱을 종료한 후 다시 접속하면 친구 서클에서 이전에 새로 고침된 데이터를 볼 수 있습니다