Я пытаюсь использовать NSScanner - это цикл перечисления NSArray. Это, однако, не удается:NSScanner & Array Loops
-[NSXMLElement length]: unrecognized selector sent to instance 0x280da30
Нет, я не призываю length
в любом месте. Похоже, что значение найденного изменяется до того, как сканер завершается, поэтому делает его пустым, вызывая ошибку length
.
Если я удаляю цикл и hardcode строку (я не хочу, это просто тест), код ниже работает. (За исключением перечисления конечно)
Он никогда не получает, насколько называя NSLog
S либо ...
Вот мой код:
for (NSString*found in arr)
{
NSLog(@"Found %@",found);
NSString*search = [NSString stringWithString:found];
NSString *separatorString = @"\"";
NSString *container = nil;
NSScanner *aScanner = [NSScanner scannerWithString:search];
[aScanner setScanLocation:0];
[aScanner scanUpToString:@"src=\"" intoString:nil];
[aScanner scanString:@"src=\"" intoString:nil];
[aScanner scanUpToString:separatorString intoString:&container];
NSLog(@"scanned");
NSLog(@"%@",container);
NSImage*previewImage = [[NSImage alloc] initWithContentsOfFile:[relativeDir stringByAppendingPathComponent:container]];
[preview setImage:previewImage];
[previewImage release];
progressed = progressed + 1;
[convertProgress setDoubleValue:[convertProgress doubleValue] + progressed];
}
Как я могу получить эту работу?
Edit:
Вот вход:
NSXMLDocument*doc = [[NSXMLDocument alloc] initWithData:[NSData dataWithContentsOfFile:webPath] options:NSXMLDocumentTidyHTML error:nil];
NSArray*arr = [doc nodesForXPath:@"//img[@src]" error:nil];
Это может помочь узнать, как выглядит вход ... – jlehr
Кстати, код сканирования отлично работает для простых входов. – jlehr
Я уже говорил, что он отлично работает для простых входов. – Pripyat