2012-04-22 126 views
0

我是相当新的目标C,但我使用此代码获取网页的数据对象

NSURL *url = [NSURL URLWithString:@"http://xxx.com"]; 
NSURLRequest *req = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30]; 
NSURLResponse *resp = nil; 
NSData *data = [NSURLConnection sendSynchronousRequest:req returningResponse:&resp error:nil]; 
NSLog(@"received %???", [data XYZ]); 

,试图抓住一个网页的原始内容。我需要插入什么而不是XYZ(显然???),以便我可以打印网站数据。我知道代码拉下了一些数据,因为我可以使用XYZ = length来获取传入数据的大小。如果有人能够帮助,那会很棒!

(如果任何人都可以额外解释如何,我可以把苹果文档中发现这一点,这也将是非常有用的)

回答

0

我假定你的意思转换NSData的到的NSString这样你就可以打印呢?

您应该使用

[NSString stringWithData:data encoding:NSUTF8StringEncoding] 

创建一个从数据的字符串。请注意,所有网站的编码不是UTF8,因此它可能不会始终生成正确的输出。

你可以很容易发现这些方法通过浏览在线文档:http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html

+0

正是我想要感谢 – neutrino 2012-04-22 17:41:06

+0

我现在有 \t //初始化URL \t NSURL * URL = [NSURL URLWithString:@“HTTP ://xxx.com“]; \t // init请求 \t NSURLRequest * req = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30]; \t NSURLResponse * resp = nil; \t //执行请求 \t NSData * data = [NSURLConnection sendSynchronousRequest:req returningResponse:&resp error:nil]; \t //转换为字符串 \t NSString * strData; \t strData = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; (@“received%@”,strData);}} 哪些工作 – neutrino 2012-04-22 17:41:52