objective-c - iOS 开发如何实现 push 出来的 Controller 在 pop 回上一页面的时候不释放?
高洛峰
高洛峰 2017-04-18 09:18:36
0
9
362

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(9)
PHPzhong

必要なのは viewController への強い参照だけです

リーリー

このようにして、ポップした後も viewController はそれを指す強い参照を保持しており、クリアされません。次回プッシュするときも、引き続き viewController

にプッシュします。
いいねを押す +0
刘奇

これは実際にはキャッシュであるはずです

いいねを押す +0
Ty80

最も簡単なのは、アプリのライフサイクル全体でインスタンスが 1 つだけ存在するようにすることです。初期化中に一度作成し、残りの時間はそれを使用します。

いいねを押す +0
黄舟

オフセットなどのページ属性を保存できます

いいねを押す +0
大家讲道理

これは時間制限がありますよね? しばらくしてから再度ページに入ろうとすると、ポップアウト インターフェイスが表示されたままになります。退場時と再入場時の時間差を判断するだけで済みます。時間差が時間差よりも小さい場合は、インターフェイスが表示されます。インターフェースが更新されます。

いいねを押す +0
黄舟

プッシュメソッドとポップメソッドを自分で実装するだけです

いいねを押す +0
Peter_Zhu

次の vc を属性として書き込み、それをプッシュします

いいねを押す +0
PHPzhong

ページを公開しないでください

いいねを押す +0
洪涛

APPにはモーメントのようなものが一つしかないのでシングルトンにした方が良いと思います。見てみると、ネットワークが切断されているときに引き上げるとロード中と表示されますが、まだロード中と表示され、解放されていないように感じます。
データもキャッシュされます。インターネットから切断し、アプリを終了して再入力すると、友達のサークル内で以前に更新されたデータが表示されます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート