Roc*_*cky 1 xml objective-c nsdata ios
我有以下api方法返回NSData.我在另一个视图控制器中调用了此方法.如何将NSData转换为NSInteger?
-(NSData *)getBusXMLAtStop:(NSString*)stopnumber
{
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:
[NSURL URLWithString: [NSString stringWithFormat:@"http://www.google.com/ig/api?weather=,,,50500000,30500000",stopnumber]]];
[request setHTTPMethod: @"GET"];
dataReply = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSLog(@"%@",dataReply);
return dataReply;
}
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
api *ap = [[api alloc]init];
NSData *str = [ap getBusXMLAtStop:@"1"];
// Here is where I want to convert str into NSInteger type. How is this possible?
NSLog(@"this is success %@",ap.dataReply);
TWeatherParser *parser = [[TWeatherParser alloc]init];
[parser getInitialiseWithData:ap.dataReply];
[parser release];
[ap release];
}
Run Code Online (Sandbox Code Playgroud)
好吧,如果你知道你的数据真的代表一个整数,最简单的方法如下:
NSData *data = ...;
int i;
[data getBytes: &i length: sizeof(i)];
Run Code Online (Sandbox Code Playgroud)
UPD:NSInteger根据目标处理器的体系结构定义,是int或者long.随意更换int由NSInteger在上面的代码.
我也不确定你的数据是实际数字而不是它的字符串表示.在这种情况下使用类似的东西
NSString *str = [[[NSString alloc] initWithData:data encoding:(encoding you need)] autorelease];
NSInteger value = [str intValue];
Run Code Online (Sandbox Code Playgroud)