Я не уверен совсем то, что вы снимаете, но если вы пытаетесь извлечь HTML из этих строк URL, вы могли бы, вероятно, сделать что-то вроде:
// build path for filename
NSString *docsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
NSString *filename = [docsPath stringByAppendingPathComponent:@"test.plist"];
// create array of html results
NSMutableArray *htmlResults = [NSMutableArray array];
for (NSString *urlString in b)
{
// get the html for this URL
NSString *html = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString] encoding:NSUTF8StringEncoding error:nil];
// add the html to our array (or zero length string if it failed)
if (html)
[htmlResults addObject:html];
else
[htmlResults addObject:@""];
}
// save the html results to plist
[htmlResults writeToFile:filename atomically:YES];
Пара мыслей :
В зависимости от того, сколько страниц есть, я не уверен, что я с ума сошел о загрузке всех страниц в plist. Я либо
использование некоторых постоянного хранения, как Core Data, так что я не должен держать все страницы в памяти, или
сделать некоторые отложенной загрузки в HTML (загрузить его как Мне это нужно))
Кроме того, если я буду загружать все страницы, учитывая, что это может занять некоторое время, я мог бы иметь представление о ходе, который я обновляю с моим прогрессом, так пользователь не будет смотреть на замороженный экран во время загрузки.
Если вы хотите получить только один файл html, то сохранение этого в plist может не иметь смысла. Я просто напишу html в файл (файл HTML, а не plist).
Обычно мне не хотелось бы загружать html в основную очередь. Я сделал бы dispatch_async
, чтобы выполнить это в фоновом режиме. Но я не решаюсь пойти далеко, пока вы не уточните, что именно вы ищете.
Но, надеюсь, это указывает на то, что вы в правильном направлении, показывая вам, как извлекать данные с веб-страниц.
Если вы хотите сохранить отдельные HTML-файлы в какой-то локальный файл (скажем X.html
где X
является нуля индекс), вы могли бы сделать что-то вроде:
// identify the documents folder
NSString *docsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
// save the html results to local files
[b enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSString *html = [NSString stringWithContentsOfURL:[NSURL URLWithString:obj] encoding:NSUTF8StringEncoding error:nil];
if (html)
{
NSString *filename = [docsPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%d.html", idx]];
[html writeToFile:filename atomically:YES encoding:NSUTF8StringEncoding error:nil];
}
}];