そのため、JavaでWebサイトのレンダリングされたhtmlソースコードを読んだ豊富な経験があります。しかし、Objective-Cでまったく同じことを行う方法について徹底的に調査し、機能するはずのソリューションを考え出すことができましたが、そうではありません。たとえば、「view-source:www.apple.com」のように、各行を読みたいという考えです。そのページの結果を1行ずつ読みたいのです。Htmlパーサーなどは必要ありません。これが私が持っているものです。
NSString *s = [NSString stringWithFormat:@"http://www.apple.com"];
NSURL *url = [NSURL URLWithString:s];
NSInputStream *iStream= [[NSInputStream alloc] initWithURL:url];
[iStream setDelegate:self];
[iStream scheduleInRunLoop:[NSRunLoop currentRunLoop]
forMode:NSDefaultRunLoopMode];
[iStream open];
NSLog(@"stream successfully opened");
NSInteger result;
uint8_t buffer[1024];
while((result = [iStream read:buffer maxLength:1024]) != 0) {
if(result > 0) {
NSLog(@"Buffer is %@",buffer);
// buffer contains result bytes of data to be handled
} else {
NSLog(@"ERROR: %@",buffer);
// The stream had an error. You can get an NSError object using [iStream streamError]
}
NSLog(@"end of while loop: %@",buffer);
}
// Either the stream ran out of data or there was an error
NSLog(@"Either the stream ran out of data or there was an error");
これは正常に実行およびコンパイルされますが、結果は常に0です。繰り返しますが、私は多くの調査を行ったので、結果が0である理由がわかりません。助けていただければ幸いです。