Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用Webservice和json解析进行排名_Ios_Objective C_Json_Web Services - Fatal编程技术网

Ios 使用Webservice和json解析进行排名

Ios 使用Webservice和json解析进行排名,ios,objective-c,json,web-services,Ios,Objective C,Json,Web Services,我对objective-c还不熟悉,正在努力学习一些东西 我正在使用带有php的Web服务创建一个精灵工具包游戏和在线排名 现在,我只需要得到一个返回前10名/分数的json 我正在这样做: NSMutableArray*nomes; NSMutableArray*分数 NSData* jsonDados = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString:@"http://www.

我对objective-c还不熟悉,正在努力学习一些东西

我正在使用带有php的Web服务创建一个精灵工具包游戏和在线排名

现在,我只需要得到一个返回前10名/分数的json

我正在这样做:

NSMutableArray*nomes; NSMutableArray*分数

NSData* jsonDados = [[NSData alloc] initWithContentsOfURL:
                     [NSURL URLWithString:@"http://www.420blazeitswag.com/wsGame/functions.php?funcao=getRanking"]];


NSError *error;

NSMutableDictionary *jsonRanking = [NSJSONSerialization
                                    JSONObjectWithData:jsonDados
                                    options:NSJSONReadingMutableContainers
                                    error:&error];
NSDictionary* ranking = [jsonRanking objectForKey:@"ranking"];

resultado = [NSMutableArray alloc];
nomes = [ranking objectForKey:@"NOME"];
scores = [ranking objectForKey:@"SCORE"];

NSLog(@"count: %lu\n",[ranking count]);

for(int i=0;i<[ranking count];i++){
     [resultado addObject:[NSDictionary dictionaryWithObjectsAndKeys:nomes[i],@"nome",scores[i],@"score", nil]];
    NSLog(@"Nome: %@ Score: %@",nomes[i],scores[i]);
}
NSData*jsonDados=[[NSData alloc]initWithContentsOfURL:
[NSURL URLWithString:@”http://www.420blazeitswag.com/wsGame/functions.php?funcao=getRanking"]];
n错误*错误;
NSMutableDictionary*jsonRanking=[NSJSONSerialization
JSONObjectWithData:jsonDados
选项:NSJSONReadingMutableContainers
错误:&错误];
NSDictionary*ranking=[jsonRanking objectForKey:@“ranking”];
resultado=[NSMutableArray alloc];
nomes=[排名对象forkey:@“NOME”];
分数=[排名对象:分数];
NSLog(@“计数:%lu\n,[排名计数]);
对于(int i=0;i这一行:

NSDictionary* ranking = [jsonRanking objectForKey:@"ranking"];
不正确,因为键
“ranking”
的值将是一个
NSArray
。在该数组中,您将有许多字典。因此,您需要迭代“ranking”数组并分别处理每个字典

但是看看你的代码,
resultado
和你得到的JSON之间唯一的区别(因此,
ranking
的内容是键的资本化,所以你可能根本不需要做任何迭代

首先:

NSArray *ranking = [jsonRanking objectForKey:@"ranking"];
不清楚为什么会收到SSL错误消息,因为您正在加载的JSON来自
http
站点,并且似乎没有任何重定向。您需要确定SSL错误消息来自何处,然后才能解决此问题

旁白:

不要只是这样做:
[NSMutableArray alloc]
。在调用
alloc
后始终调用
init
方法。如果不想执行
alloc init
,请使用类便利方法(如
[NSMutableArray]
)。

这行:

NSDictionary* ranking = [jsonRanking objectForKey:@"ranking"];
不正确,因为键
“ranking”
的值将是一个
NSArray
。在该数组中,您将有许多字典。因此,您需要迭代“ranking”数组并分别处理每个字典

但是看看你的代码,
resultado
和你得到的JSON之间唯一的区别(因此,
ranking
的内容是键的资本化,所以你可能根本不需要做任何迭代

首先:

NSArray *ranking = [jsonRanking objectForKey:@"ranking"];
不清楚为什么会收到SSL错误消息,因为您正在加载的JSON来自
http
站点,并且似乎没有任何重定向。您需要确定SSL错误消息来自何处,然后才能解决此问题

旁白:

不要只是这样做:
[NSMutableArray alloc]
。在调用
alloc
后始终调用
init
方法。如果不想执行
alloc init
,请使用类便利方法(如
[NSMutableArray]
)。

这行:

NSDictionary* ranking = [jsonRanking objectForKey:@"ranking"];
不正确,因为键
“ranking”
的值将是一个
NSArray
。在该数组中,您将有许多字典。因此,您需要迭代“ranking”数组并分别处理每个字典

但是看看你的代码,
resultado
和你得到的JSON之间唯一的区别(因此,
ranking
的内容是键的资本化,所以你可能根本不需要做任何迭代

首先:

NSArray *ranking = [jsonRanking objectForKey:@"ranking"];
不清楚为什么会收到SSL错误消息,因为您正在加载的JSON来自
http
站点,并且似乎没有任何重定向。您需要确定SSL错误消息来自何处,然后才能解决此问题

旁白:

不要只是这样做:
[NSMutableArray alloc]
。在调用
alloc
后始终调用
init
方法。如果不想执行
alloc init
,请使用类便利方法(如
[NSMutableArray]
)。

这行:

NSDictionary* ranking = [jsonRanking objectForKey:@"ranking"];
不正确,因为键
“ranking”
的值将是一个
NSArray
。在该数组中,您将有许多字典。因此,您需要迭代“ranking”数组并分别处理每个字典

但是看看你的代码,
resultado
和你得到的JSON之间唯一的区别(因此,
ranking
的内容是键的资本化,所以你可能根本不需要做任何迭代

首先:

NSArray *ranking = [jsonRanking objectForKey:@"ranking"];
不清楚为什么会收到SSL错误消息,因为您正在加载的JSON来自
http
站点,并且似乎没有任何重定向。您需要确定SSL错误消息来自何处,然后才能解决此问题

旁白:

不要只是这样做:
[NSMutableArray alloc]
。在调用
alloc
后始终调用
init
方法。如果不想执行
alloc init
,请使用类便利方法(如
[NSMutableArray]
)。

NSDictionary*ranking=[jsonRanking objectForKey:@“ranking”];
resultado=[NSMutableArray alloc];
nomes=[排名对象forkey:@“NOME”];
分数=[排名对象:分数];
NSLog(@“计数:%lu\n,[排名计数]);
对于(int i=0;i
NSDictionary*ranking=[jsonRanking objectForKey:@“ranking”];
resultado=[NSMutableArray alloc];
nomes=[排名对象forkey:@“NOME”];
分数=[排名对象:分数];
NSLog(@“计数:%lu\n,[排名计数]);
对于(int i=0;i
NSDictionary*ranking=[jsonRanking objectForKey:@“ranking”];
resultado=[NSMutableArray alloc];
nomes=[排名对象forkey:@“NOME”];
分数=[排名对象forkey:@“分数”]