Enregistrement de plusieurs variables

TchouboudouTchouboudou Membre
07:48 modifié dans API AppKit #1
Bonsoir... J'ai un petit problème d'enregistrement... Voilà , je dois enregistrer un tableau (gérer avec une classe model) et deux chaines. Voilà  mes codes de d'encodage et de décodage des chaines :
<br />- (void)encodeWithCoder:(NSCoder *)coder<br />{<br />	[coder encodeObject:introduction];<br />	[coder encodeObject:conclusion];<br />}<br />- (id)initWithCoder:(NSCoder *)coder<br />{<br />	if (self = [super init]) {<br />		introduction = [coder decodeObject];<br />		conclusion = [coder decodeObject];<br />	}<br />	return self;<br />}


Voilà  la même chose pour le tableau :

- (void)encodeWithCoder:(NSCoder *)coder<br />{<br />	[coder encodeObject:titre];<br />	[coder encodeObject:texte];<br />}<br />- (id)initWithCoder:(NSCoder *)coder<br />{<br />	if (self = [super init]) {<br />		[self setTitre:[coder decodeObject]];<br />		[self setTexte:[coder decodeObject]];<br />	}<br />	return self;<br />}


Voilà  le code d'archivage et de désarchivage :

<br />- (NSData *)dataRepresentationOfType:(NSString *)aType<br />{<br />	[tableView deselectAll:nil];<br />	return [NSArchiver archivedDataWithRootObject:souspartie];<br />	return [NSArchiver archivedDataWithRootObject:introduction];<br />	return [NSArchiver archivedDataWithRootObject:conclusion];<br />}<br /><br />- (BOOL)loadDataRepresentation:(NSData *)data ofType:(NSString *)aType<br />{<br />	[souspartie release];<br />	<br />	souspartie = [[NSUnarchiver unarchiveObjectWithData:data] retain];<br />	introduction = [[NSUnarchiver unarchiveObjectWithData:data] retain];<br />	conclusion = [[NSUnarchiver unarchiveObjectWithData:data] retain];<br />	<br />	[self updateUI];<br />	<br />	return YES;<br />}


Donc, j'ai un petit problème :D. Si vous pouvez m'aider s'il vous plait... Merci beaucoup !!!

Réponses

  • aranaudaranaud Membre
    07:48 modifié #2
    Tu ne peux faire qu'un return par méthode.

    <br />- (NSData *)dataRepresentationOfType:(NSString *)aType<br />{<br />	[tableView deselectAll:nil];<br />	return [NSArchiver archivedDataWithRootObject:souspartie];<br />	return [NSArchiver archivedDataWithRootObject:introduction];<br />	return [NSArchiver archivedDataWithRootObject:conclusion];<br />}<br />
    

    est équivalant à 
    <br />- (NSData *)dataRepresentationOfType:(NSString *)aType<br />{<br />	[tableView deselectAll:nil];<br />	return [NSArchiver archivedDataWithRootObject:souspartie];<br />}<br />
    

  • TchouboudouTchouboudou Membre
    07:48 modifié #3
    Comment puis-je faire alors ?
  • 07:48 modifié #4
    Tu mets le tout dans un nsdictionary et tu archives le dictionary. (techniquemnt un tableau est tout aussi valable, mais moins souple à  l'usage)
Connectez-vous ou Inscrivez-vous pour répondre.