尝试使用NSLog()时出现意外错误

时间:2011-12-14 02:00:44

标签: iphone ios scrape

我是iOS开发的新手,我正在尝试编写一个可以抓取网站(HTML)的应用程序。刮刮谷歌只是一个例子 - 我计划抓一些更复杂的东西......

我的代码如下:

#import "KppleViewController.h"
#import "TFHpple.h"

@implementation KppleViewController
@synthesize theButton;

- (IBAction)buttonPressed:(UIButton *)sender {
    NSLog(@"button Pressed");
    NSURL *url          = [NSURL URLWithString: @"http://www.google.com"];
    NSData *htmlData    = [NSData dataWithContentsOfURL: url];
    TFHpple *xpathParse = [[TFHpple alloc] initWithHTMLData:htmlData];  
    NSArray *elements   = [xpathParse searchWithXPathQuery:@"//h3"];
    TFHppleElement *element = [elements objectAtIndex:0];
    NSString *h3Tag = [element content];  
    NSLog(@"x",h3Tag);
}

问题是当我尝试写入控制台(通过NSLog)以查看是否有效时,我收到错误。我得到的错误是"格式字符串"

没有使用数据参数

我在互联网上搜索过,但无济于事。如果我注释掉NSLog以查看我之前的代码是否正确,我会在声明但未使用的NSlog(h3Tag)上方的变量上收到错误。

非常感谢任何帮助......

我也对任何其他抓取HTML的方法开放......

3 个答案:

答案 0 :(得分:6)

你对这一行感到困惑:

NSLog(@"x",h3Tag);

所有这一行都记录了字符串x。第二个参数完全未使用。你想要的是这样的:

NSLog(@"%@", h3Tag);

或者可能更具描述性:

NSLog(@"h3Tag: %@", h3Tag);

格式字符串中的标记%@表示这是打印下一个参数的位置。您可能希望阅读String Format SpecifiersFormatting String Objects一般。

答案 1 :(得分:0)

使用

NSLog(@"%@", h3Tag);

NSLog(h3Tag);

答案 2 :(得分:0)

NSLog(@"x = %@",h3Tag);
Above line prints the value of h3Tag.

For more help about NSLog refer link:  [http://www.cocoadev.com/index.pl?NSLog]