RestKit Mapping désallouée en arrière-plan?
-
27-10-2019 - |
Question
J'ai la structure suivante dans mon application (iPad, iOS 5):
UIView1 -.> UIView2 (modal présenté)
J'ai un trafic de classe personnalisée avec un service REST. Cette classe gère tout le mapping, routage, etc. nécessaires. Il y a un objet dans UIView1 en utilisant cette classe.
De UIView1 je présente les UIView2 (modal) qui a un UIWebView inclus, montrant une partie du contenu HTML et des documents PDF (selon ce qui a été choisi UIView1 par l'utilisateur).
il ressemble parfois UIView1 get désallouée en arrière-plan pendant que l'utilisateur est en UIView2.
Si l'utilisateur se ferme maintenant UIView2 au retour à UIView1, les accidents de l'application. L'erreur est de type "RestKit Mapping pour ... existe".
Il semble à moi, que UIView1 a été désallouée, et est maintenant construire en arrière-plan, mais l'objet RestKit vit encore. RestKit est un objet partagé (Singleton).
Quelle est la bonne façon d'obtenir ce runnning?
La solution
Le viewDidLoad
n'est pas un bon endroit pour mettre en place les correspondances de RestKit - cette méthode peut être appelée plusieurs fois dans une vie du contrôleur.
Un bon (et sûr) pour initialiser lieu RestKit et mettre en place toutes les applications est - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
dans votre AppDelegate. De cette façon, vous pouvez être sûr que le processus de configuration se fait qu'une seule fois et avant peut envoyer toute demande potentielle.