SWIFT中使用AFNetwroking访问网络数据

简介: AFNetworking 是 iOS 一个使用很方便的第三方网络开发框架,它可以很轻松的从一个URL地址内获取JSON数据。 在使用它时我用到包管理器Cocoapods 不懂的请移步: Cocoapods安装:http://www.

AFNetworking 是 iOS 一个使用很方便的第三方网络开发框架,它可以很轻松的从一个URL地址内获取JSON数据。

在使用它时我用到包管理器Cocoapods 不懂的请移步:

Cocoapods安装:http://www.cnblogs.com/foxting/p/4520758.html

RUBY安装:http://www.cnblogs.com/foxting/p/4520829.html

1.在终端中用CD命令定位到所建项目的根目录,我当前的项目名为Fresh

接着在终端内输入:vi Podfile 后会打开一个编辑页面,在编辑页面内输入,AFNetworking不输入版本号默认为最新的版本

platform :ios, '8.0'

pod 'AFNetworking' 

退出vi及保存文件

在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
 
退出vi保存文件后执行以下命令安装podfile
pod install
经过几分钟的等待后终端内有类似下面的提示,打开项目所在的目录会发现多了一个以.xworkspace结尾的文件,以后就用这个文件打开项目
打开项目有两个主目录,如下图:
由于AFNetworking是用Object-c编写的,所以首先要添加一个.h的头文件
接着在文件内添加一行即可
#import <AFNetworking/AFNetworking.h>

接着在项目的Build Settings内配置该头文件

配置完以后按COMMAND+B编译项目。

接着在ViewController内添加代码,如下调用国外免费的天气预报JSON接口,本来想调用国内股票的AIP,发现调不了每次都失败应该返回的Content-Type="text/html"它不接受吧。

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        var requestManager = AFHTTPRequestOperationManager()
        //let url = "http://apis.haoservice.com/lifeservice/stock/hs"
        //let params = ["gid":"sh601009","key":"2d13447002d14f35a0f33f4dfa405c93"]
        let url = "http://api.openweathermap.org/data/2.5/weather"
        let params = ["lat":37.79,"lon":-122.41,"cnt":0]
        
//这闭包的写法好像JQuery, requestManager.GET(url, parameters: params, success: { (operation:AFHTTPRequestOperation!,responseObject:AnyObject!) -> Void in var stock = responseObject as? NSDictionary }, failure: { (operation:AFHTTPRequestOperation!,error:NSError!) -> Void in println(error) } ) }

 

 
目录
相关文章
|
11天前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
|
1月前
|
机器学习/深度学习 数据采集 传感器
【故障诊断】基于matlab BP神经网络电机数据特征提取与故障诊断研究(Matlab代码实现)
【故障诊断】基于matlab BP神经网络电机数据特征提取与故障诊断研究(Matlab代码实现)
|
2月前
|
数据采集 存储 算法
MyEMS 开源能源管理系统:基于 4G 无线传感网络的能源数据闭环管理方案
MyEMS 是开源能源管理领域的标杆解决方案,采用 Python、Django 与 React 技术栈,具备模块化架构与跨平台兼容性。系统涵盖能源数据治理、设备管理、工单流转与智能控制四大核心功能,结合高精度 4G 无线计量仪表,实现高效数据采集与边缘计算。方案部署灵活、安全性高,助力企业实现能源数字化与碳减排目标。
63 0
|
3月前
|
Python
LBA-ECO CD-32 通量塔网络数据汇编,巴西亚马逊:1999-2006,V2
该数据集汇集了1999年至2006年间巴西亚马逊地区九座观测塔的碳和能量通量、气象、辐射等多类数据,涵盖小时至月度时间步长。作为第二版汇编,数据经过协调与质量控制,扩展了第一版内容,并新增生态系统呼吸等相关计算数据,支持综合研究与模型合成。数据以36个制表符分隔文本文件形式提供,配套PDF说明文件,适用于生态与气候研究。引用来源为Restrepo-Coupe等人(2021)。
48 1
|
11天前
|
Shell 开发工具 git
使用代理访问网络各项命令总结
工作中常需设置代理,容易导致环境混乱。本文总结了 SourceTree 无法拉取代码的问题,排查了环境变量、Git 全局配置及系统代理设置,最终通过清除 Git 代理配置解决。内容涵盖排查步骤、命令整理及脚本处理,帮助快速定位并解决代理相关网络问题。
57 1
|
24天前
|
机器学习/深度学习 数据采集 运维
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
|
2月前
|
存储 监控 算法
基于 Python 跳表算法的局域网网络监控软件动态数据索引优化策略研究
局域网网络监控软件需高效处理终端行为数据,跳表作为一种基于概率平衡的动态数据结构,具备高效的插入、删除与查询性能(平均时间复杂度为O(log n)),适用于高频数据写入和随机查询场景。本文深入解析跳表原理,探讨其在局域网监控中的适配性,并提供基于Python的完整实现方案,优化终端会话管理,提升系统响应性能。
78 4
|
3月前
|
开发者
鸿蒙仓颉语言开发教程:网络请求和数据解析
本文介绍了在仓颉开发语言中实现网络请求的方法,以购物应用的分类列表为例,详细讲解了从权限配置、发起请求到数据解析的全过程。通过示例代码,帮助开发者快速掌握如何在网络请求中处理数据并展示到页面上,减少开发中的摸索成本。
鸿蒙仓颉语言开发教程:网络请求和数据解析
|
4月前
|
域名解析 监控 网络协议
21.7K star!再见吧花生壳,没有公网ip,也能搞定所有网络访问!内网穿透神器NPS
“nps”是一款强大的内网穿透工具,支持多种协议与功能。它无需公网IP或复杂配置,可实现远程桌面、文件共享和私有云搭建等。项目采用Go语言开发,具有高性能与轻量级特点,适用于远程办公、物联网管理等场景。其核心亮点包括零配置穿透、多级代理网络、实时流量监控及企业级安全特性。对比同类工具,“nps”在安装复杂度、协议支持和管理界面方面表现优异。项目地址:https://github.com/ehang-io/nps。
993 12
|
5月前
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
176 22