Stap 3: De gegevens ophalen!
We gebruiken sommige ontzagwekkende code vond ik op een antwoord van de StackOverflow om de gegevens in de vorm van een NSMutableArray te halen. De matrix zal hebben een heleboel NSStrings, elkaar worden sommige gegevens die Xcode kon vinden tussen uw twee caps. Als u niet bekend bent met NSMutableArrays dan doen wat te lezen, omdat ze uiterst nuttig en gebruikte in Bijna alle programmeertalen, hoewel zij aanwezig zijn in een andere vorm kunnen.
Hier is de code om de gegevens in de vorm van een methode te halen:
-(NSMutableArray*) stringsBetweenString:(NSString*) andString:(NSString*) einde andText:(NSString*) tekst beginnen
{
NSMutableArray * tekenreeksen = [NSMutableArray arrayWithCapacity:0];
NSRange startRange = [text rangeOfString:start];
voor (;)
{
Als (startRange.location! = NSNotFound)
{
NSRange targetRange;
targetRange.location = startRange.location + startRange.length;
targetRange.length = [tekstlengte] - targetRange.location;
NSRange endRange = [tekst rangeOfString:end opties: 0 bereik: targetRange];
Als (endRange.location! = NSNotFound)
{
targetRange.length = endRange.location - targetRange.location;
[addObject snaren: [text substringWithRange:targetRange]];
NSRange restOfString;
restOfString.location = endRange.location + endRange.length;
restOfString.length = [tekstlengte] - restOfString.location;
startRange = [tekst rangeOfString:start opties: 0 bereik: restOfString];
}
anders
{
breken;
}
}
anders
{
breken;
}
}
NSLog)
retourneren van snaren;
}
Ik noemde het zo:
NSMutableArray * titels = [[NSMutableArray VERD] init];
titels = [self stringsBetweenString: klasse = \ "name\" > "andString: andText:html];
NSMutableArray 'titels' is de array die ik gebruik te 'vangen' de geretourneerde gegevens.
Het argument 'start' is de toonaangevende cap van uw gegevens. Het argument dat 'beëindigen' is, u raadt het al, het afsluitende GLB van uw gegevens. 'tekst' zullen de tekenreeks 'html' die u hebt gekregen van de website, die de HTML-gegevens ingekapseld in het heeft. Als alles goed gaat, moet je nu een NSMutableArray van de gegevens. De matrix wordt afgedrukt naar de console voor uw gemak. In mijn voorbeeld foto was er slechts één sluiten op de dag dat ik de app gebouwd, dus dat is waarom alleen een vermelding aanwezig is. Als er meerdere afsluitingen, zou dan er meerdere rijen in de tabel en de items in de matrix. Maar wacht! Er is meer!
Berichtje: waarom de \ voordat de noteringen in de tekenreeks start? De compiler zal gooien fouten als u niet doet dit, als het kan niet tussen de citaten aan het begin en het eind van uw koord en de citaten eigenlijk in de tekenreeks differentiëren. Als uw GLB citaten heeft, voeg dan een \ alvorens hen te laten weten dat dit deel van de tekst zijn Xcode.