Problème NSDocument
Bonjour,
je suis entrain de bosser sur un projet permettant d'éviter les multiples fenêtres avec NSDocument.
Pour ce faire, j'ai simplement virer la fenêtre du nib de mon NSDocument puis j'initialise ce dernier :
Je stock ensuite le document dans une NSMutableArray.
Mais voilà , lorsque je fais :
J'ai le debugger qui s'affiche et mon application plante.
Je suis sûr que c'est ça qui fait planter car si j'enlève cette ligne, je n'ai aucun problème.
Alors y aurai-t-il un autre moyen ?
Je me demande si en initialisant le NSDocument comme ceci :
Puis le virer en utilisant NSDocumentController :
Merci d'avance.
Louka
je suis entrain de bosser sur un projet permettant d'éviter les multiples fenêtres avec NSDocument.
Pour ce faire, j'ai simplement virer la fenêtre du nib de mon NSDocument puis j'initialise ce dernier :
<br />- (id)controller<br />{<br />return [[[self alloc] init] autorelease];<br />}<br />
Je stock ensuite le document dans une NSMutableArray.
Mais voilà , lorsque je fais :
<br />[docsArray removeObjectAtIndex:index];<br />
J'ai le debugger qui s'affiche et mon application plante.
Je suis sûr que c'est ça qui fait planter car si j'enlève cette ligne, je n'ai aucun problème.
Alors y aurai-t-il un autre moyen ?
Je me demande si en initialisant le NSDocument comme ceci :
<br />id doc = [[MyDocument alloc] init];<br />
Puis le virer en utilisant NSDocumentController :
<br />id doc = [docsArray objectAtIndex:index];<br />[docController removeDocument:doc];<br />[docsArray removeObjecAtIndex:index];<br />
Merci d'avance.
Louka
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Comme ce que tu m'as proposé me chagriné un peu avec tout ce que j'ai pu réussir jusqu'à maintenant en utilisant les NSDocument pour mon appli, j'ai essayé la méthode que j'ai posté.
Et là ça marche
Personnellement, je serais quand même réticent à utiliser [tt]removeDocument:[/tt] (cfr doc: c'est une méthode qui est appelée par le document lui même, tu auras donc des fuites mémoire si tu l'utilises comme tu le fais, il vaut mieux utiliser [tt]-close[/tt] de NSDocument, qui est vraiment fait pour).
*surtout avec des classes comme NSDocument, qui sont quand même à la base du développement d'applis et qui ont des "ramifications" un peu partout.