recherche

Maison  >  Questions et réponses  >  le corps du texte

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

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

高洛峰高洛峰2889 Il y a quelques jours365

répondre à tous(9)je répondrai

  • PHPz

    PHPz2017-04-18 09:20:36

    Tout ce dont vous avez besoin est une référence forte au viewController

    
    @property (nonatomic, strong) FooViewController *viewController;
    
    ...
    
    - (void)push {
        if (!_viewController) {
            _viewController = [[FooViewController alloc] init];
        }
        [self.navigationController pushViewController:_viewController animated:YES];
    }
    

    De cette façon, après l'éclatement, le viewController a toujours une référence forte pointant vers lui et ne sera pas effacé. La prochaine fois que vous pousserez, poussez toujours vers le viewController

    répondre
    0
  • 怪我咯

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

    Cela devrait en fait être un cache

    répondre
    0
  • PHP中文网

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

    Le plus simple est d'en faire un singleton. Il n'y a qu'une seule instance dans tout le cycle de vie de l'application. Créez-le une fois lors de l'initialisation et utilisez-le le reste du temps.

    répondre
    0
  • 黄舟

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

    Peut stocker les attributs de la page, tels que les décalages, etc.

    répondre
    0
  • 大家讲道理

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

    C'est limité dans le temps, n'est-ce pas ? Si vous appuyez à nouveau pour accéder à la page dans un court laps de temps, vous resterez sur l'interface contextuelle. Il vous suffit de juger du décalage horaire entre l'heure de sortie et l'heure de rentrée. Si le décalage horaire est inférieur au décalage horaire, l'interface apparaîtra. Si le décalage horaire est supérieur au décalage horaire, le. l'interface sera rafraîchie.

    répondre
    0
  • 黄舟

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

    Implémentez simplement vous-même les méthodes push et pop

    répondre
    0
  • 天蓬老师

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

    Écrivez le prochain vc en tant qu'attribut puis poussez-le

    répondre
    0
  • PHPz

    PHPz2017-04-18 09:20:36

    Ne laissez pas la page être publiée

    répondre
    0
  • PHP中文网

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

    Il n'y a qu'une seule chose comme Moments dans l'APP, je pense qu'il vaut mieux en faire un singleton. Après l'avoir regardé, lorsque le réseau est déconnecté, cela montre qu'il est en cours de chargement lorsque je le remonte et que j'y rentre, cela montre toujours qu'il est en cours de chargement. J'ai l'impression qu'il n'est pas libéré.
    Et les données sont également mises en cache. Si vous vous déconnectez d'Internet, supprimez l'application et entrez à nouveau, les données actualisées auparavant dans le cercle d'amis peuvent être vues

    répondre
    0
  • Annulerrépondre