1

我被要求基于 Fedena(学校管理系统)构建一个 iOS 应用程序。他们的 API 示例代码采用 HTML-JS 或 RUBY 格式。我要做的是以编程方式传递参数(令牌、URI 等),并在发送它们时,请求将返回一个 XML 文件,然后我可以在 tableView 中解析和查看该文件。

  1. 如何使用 AFNetworking 通过代码传递参数?
  2. 如何获取 XML 文件?

这是提供的 API 代码示例:

<html>
  <head>
    xhr.open('GET', fedena_server+"/api/users/"+username);
    xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    xhr.setRequestHeader('Authorization', 'Token token="'+token+'"');
    xhr.send();
    ......
4

1 回答 1

2

首先,您必须将 AFNetworking 添加到您的项目中。最简单的方法是使用 pod 信息,可以在这里找到:https ://guides.cocoapods.org/using/getting-started.html

以下代码将获取上述 API 调用的响应:

NSString *url = [NSString stringWithFormat:@"%@/api/users/%@",fedenaServer,username];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSString *token = [NSString stringWithFormat:@"Token token=%@",token];
[manager.requestSerializer token forHTTPHeaderField:@"Authorisation"];
[manager GET:url parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
    // your code to parse the response
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];

您必须做一些研究才能使整个工作正常工作,例如解析 XML 响应 给您更多的东西会为您完成这项工作:P 希望它有所帮助。

于 2015-09-13T17:16:41.407 回答