Maison > Questions et réponses > le corps du texte
发现 QQ ,微信等在 Push 进 好友动态、朋友圈 这些页面的时候,总能保留在上一次进入时候最后浏览到的位置。这是如何实现的呢?
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
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.
大家讲道理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.
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