2011-12-14 28 views
0

我是iOS開發新手,我正在嘗試編寫一個可以抓取網站(HTML)的應用程序。刮谷歌只是一個例子 - 我計劃在拼搶的東西有點更復雜......嘗試使用NSLog時出現意外錯誤()

我的代碼如下:

#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的任何其他方法...

回答

6

你被這條線困惑:

NSLog(@"x",h3Tag); 

這一行所做的就是記錄字符串x。第二個參數完全沒有用。你需要的是這樣的:

NSLog(@"%@", h3Tag); 

或者也許有點更具描述:

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

令牌%@格式字符串的內部表示這是其中一個參數將被打印出來。您可能需要閱讀String Format Specifiers或一般Formatting String Objects

+0

我應該提到,我添加了 「X」 來的NSLog(@ 「X」,而排除的問題。我已經嘗試的NSLog (h3Tag),這也產生了一個錯誤,我認爲,真正的問題是由TFHpple.h include引起的。當我編譯並轉到xcode(VIEW-> Navigators-> Show Issue Navigator)中的「issue navigator」 ,我有這個錯誤:架構i的未定義符號386: 「_OBJC_CLASS _ $ _ TFHpple」,引用自: KppleViewController.o中的objc-class-ref ld:找不到體系結構i386的符號 clang:錯誤:linker命令失敗,退出代碼1(使用-v看到調用) – Calderon 2011-12-15 05:36:34

0

使用

NSLog(@"%@", h3Tag); 

NSLog(h3Tag); 
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]