検索

ホームページ  >  に質問  >  本文

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

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

高洛峰高洛峰2889日前368

全員に返信(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

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

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

    返事
    0
  • キャンセル返事