J'ai un gros fichier texte (environ 10 Mo). Dans le fichier texte, il y a des valeurs telles que (sans les lignes vides entre les lignes, je ne pouvais pas formater ici correctement):NSScanner vs componentsSeparatedByString
;string1;stringValue1;
;string2;stringValue2;
;string3;stringValue3;
;string4;stringValue4;
J'analyse toutes les valeurs du « stringX » à un tableau et le ' stringValueX » à une autre chaîne, en utilisant une solution assez laid:
words = [rawText componentsSeparatedByString:@";"];
NSEnumerator *word = [words objectEnumerator];
while(tmpWord = [word nextObject]) {
if ([tmpWord isEqualToString: @""] || [tmpWord isEqualToString: @"\r\n"] || [tmpWord isEqualToString: @"\n"]) {
// NSLog(@"%@*** NOTHING *** ",tmpWord);
}else { // here I add tmpWord the arrays...
J'ai essayé de le faire en utilisant NSScanner
en suivant cet exemple: http://www.macresearch.org/cocoa-scientists-part-xxvi-parsing-csv-data
Mais je reçu des avertissements de mémoire puis tout écrasé.
Dois-je le faire en utilisant NSScanner
et si oui, quelqu'un peut-il me donner un exemple de la façon de faire cela?
Merci!
C'est beaucoup de choses à stocker dans la RAM sur un appareil mobile! Le code que vous avez omis serait également intéressant. Vous pouvez vérifier votre consommation de mémoire avec Instruments. – Eiko