2010-10-29 7 views
0

Ce morceau de code ci-dessous est à l'origine de mon application pour planterNSMutableString stringWithString: NSString ne fonctionne pas pour moi

EDIT

@interface termsAndConditions : NSObject 
{ 
NSMutableString *titleText; 
NSMutableString *bodyText; 
NSMutableArray *arrayBodyText; 
} 

@property (nonatomic, copy) NSMutableString *titleText; 
@property (nonatomic, copy) NSMutableString *bodyText; 

* EDIT *

else if ([[self.arrayBodyText objectAtIndex:x] isKindOfClass:[NSString class]]) 
{ 
    if (x == 0) 
    { 
    self.bodyText=[NSMutableString stringWithString:[self.arrayBodyText 
    objectAtIndex:x]]; 
    } 
    else 
{ 
    [self.bodyText appendString:[self.arrayBodyText objectAtIndex:x] ]; 
} 

le tableauB odyText est un tableau de NSString que j'ai obtenu à partir d'un dictionnaire et que je veux les rejoindre tout à fait dans 1 NSMutableString.

Lorsque l'application se bloque, il donne le message:

Mettre fin application en raison d'une exception non interceptée « NSInvalidArgumentException », la raison: « Tentative de muter objet immuable avec appendString: » * pile d'appel au premier jet:

Fondamentalement, j'ai besoin d'aide pour lire ce tableau de NSStrings dans 1 NSMutableString.

Merci -Code

Répondre

1

Pour ce faire:

self.bodyText = [[[self.arrayBodyText componentsJoinedByString:@""] mutableCopy] autorelease]; 
+0

Je devine que je dois remplacer le @ « » dans VOTRECODE avec l'objet NSString je sors du tableau? Merci Jeremy. –

+0

Non, ne faites pas ça; Utilisez-le comme écrit. '-componentsJoinedByString:' concatène les chaînes du tableau avec la chaîne fournie comme séparateur. Donc, si le tableau était '{@" a ", @" b ", @" c "}', et que vous l'avez envoyé 'componentsJoinedByString: @" *** "', le résultat serait '@" a ** * b *** c "'. –

+0

wow c'est génial! Merci Jeremy –

Questions connexes