何大家我试图通过我的iphone应用程序调用php脚本,返回一个整数值作为serverOutput
NSData *dataURL = [NSData dataWithContentsOfURL: [ NSURL URLWithString: hostStr ]];
NSString *serverOutput = [[NSString alloc] initWithData:dataURL encoding: NSASCIIStringEncoding];
NSInteger * userid = [serverOutput integerValue];
NSLog(@" %d" , userid);
但是如果我打印我的serverOutput字符串它是 2381164503 但我的NSLog(@“%d”,userid)打印我 2147483647 。由于某种原因,我不知道它正在解析不同的值:(
答案 0 :(得分:0)
首先,NSInteger是一种原始类型,因此您不应将userid声明为指针(通过将星号放在前面)。其次,值为2381164503对于NSInteger而言太大(最大值为2147483647)。
尝试使用long long
代替:
long long userid = [serverOutput longLongValue];
NSLog(@" %lld" , userid); //use %lld instead of %d