Étape 3: Obtenir les données !
Nous allons utiliser un code génial j’ai trouvé une réponse StackOverflow pour extraire les données sous la forme d’un NSMutableArray. Le tableau aura un tas de NSStrings, chacun d'entre eux étant des données que Xcode parvint à trouver entre vos deux chapeaux. Si vous n’êtes pas familier avec NSMutableArrays que font une lecture, car ils sont extrêmement utiles et utilisés dans Presque tous les langages de programmation, même si elles peuvent être présents sous une forme différente.
Voici le code pour extraire les données sous la forme d’une méthode :
Commencer à-(NSMutableArray*) stringsBetweenString:(NSString*) andString:(NSString*) texte de:(NSString*) de fin andText
{
Chaînes de NSMutableArray = [NSMutableArray arrayWithCapacity:0] ;
SuffixRange débutPlage = [rangeOfString:start texte] ;
pour (;)
{
Si (startRange.location! = NSNotFound)
{
SuffixRange targetRange ;
targetRange.location = startRange.location + startRange.length ;
targetRange.length = [texte Longueur] - targetRange.location ;
SuffixRange endRange = [texte rangeOfString:end options: 0 plage : targetRange] ;
Si (endRange.location! = NSNotFound)
{
targetRange.length = endRange.location - targetRange.location ;
[chaînes addObject: [texte substringWithRange:targetRange]] ;
SuffixRange restOfString ;
restOfString.location = endRange.location + endRange.length ;
restOfString.length = [texte Longueur] - restOfString.location ;
débutPlage = [texte rangeOfString:start options: 0 plage : restOfString] ;
}
d’autre
{
rupture ;
}
}
d’autre
{
rupture ;
}
}
NSLog)
renvoyer des chaînes ;
}
Je l’ai appelé comme tel :
NSMutableArray * titres = [[NSMutableArray alloc] init] ;
titres = [stringsBetweenString auto : classe = \ « name\ » > "andString : andText:html] ;
NSMutableArray « titres » sont le tableau que j’utilise pour « attraper » les données retournées.
L’argument « démarrer » est le premier cap de vos données. L’argument « end » est, vous l’aurez deviné, le capuchon arrière de vos données. « texte » sera la chaîne « html » que vous avez obtenu sur le site Web, qui inclut les données html encapsulées dedans. Si tout se passe bien, vous devriez maintenant avoir un NSMutableArray des données. Le tableau s’imprime sur la console pour votre commodité. Dans ma photo par exemple il n’y n'avait qu’une seule fermeture le jour où j’ai construit l’app, voilà donc pourquoi seulement une entrée est présente. S’il y avait des fermetures multiples, alors il y aurait plusieurs lignes sur la table et les éléments du tableau. Mais attendez ! Il n’y a plus !
Note rapide : pourquoi le \ avant les cotations dans la chaîne de départ ? Le compilateur lèvera erreurs si vous ne le faites pas, car il ne peut pas différencier entre les guillemets au début et fin de la chaîne et les citations en fait dans la chaîne. Si votre bouchon a citations, puis ajoutez un \ devant eux pour informer Xcode que ceux-ci font partie du texte.