<p align="center" >
<img src="https://raw.github.com/AFNetworking/AFNetworking/assets/afnetworking-logo.png" alt="AFNetworking" title="AFNetworking">
</p>
[![Build Status](https://travis-ci.org/AFNetworking/AFNetworking.svg)](https://travis-ci.org/AFNetworking/AFNetworking)
AFNetworking is a delightful networking library for iOS and Mac OS X. It's built on top of the [Foundation URL Loading System](http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/URLLoadingSystem/URLLoadingSystem.html), extending the powerful high-level networking abstractions built into Cocoa. It has a modular architecture with well-designed, feature-rich APIs that are a joy to use.
Perhaps the most important feature of all, however, is the amazing community of developers who use and contribute to AFNetworking every day. AFNetworking powers some of the most popular and critically-acclaimed apps on the iPhone, iPad, and Mac.
Choose AFNetworking for your next project, or migrate over your existing projects—you'll be happy you did!
## How To Get Started
- [Download AFNetworking](https://github.com/AFNetworking/AFNetworking/archive/master.zip) and try out the included Mac and iPhone example apps
- Read the ["Getting Started" guide](https://github.com/AFNetworking/AFNetworking/wiki/Getting-Started-with-AFNetworking), [FAQ](https://github.com/AFNetworking/AFNetworking/wiki/AFNetworking-FAQ), or [other articles on the Wiki](https://github.com/AFNetworking/AFNetworking/wiki)
- Check out the [documentation](http://cocoadocs.org/docsets/AFNetworking/) for a comprehensive look at all of the APIs available in AFNetworking
- Read the [AFNetworking 2.0 Migration Guide](https://github.com/AFNetworking/AFNetworking/wiki/AFNetworking-2.0-Migration-Guide) for an overview of the architectural changes from 1.0.
## Communication
- If you **need help**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/afnetworking). (Tag 'afnetworking')
- If you'd like to **ask a general question**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/afnetworking).
- If you **found a bug**, _and can provide steps to reliably reproduce it_, open an issue.
- If you **have a feature request**, open an issue.
- If you **want to contribute**, submit a pull request.
### Installation with CocoaPods
[CocoaPods](http://cocoapods.org) is a dependency manager for Objective-C, which automates and simplifies the process of using 3rd-party libraries like AFNetworking in your projects. See the ["Getting Started" guide for more information](https://github.com/AFNetworking/AFNetworking/wiki/Getting-Started-with-AFNetworking).
#### Podfile
```ruby
platform :ios, '7.0'
pod "AFNetworking", "~> 2.0"
```
## Requirements
| AFNetworking Version | Minimum iOS Target | Minimum OS X Target | Notes |
|:--------------------:|:---------------------------:|:----------------------------:|:-------------------------------------------------------------------------:|
| 2.x | iOS 6 | OS X 10.8 | Xcode 5 is required. `NSURLSession` subspec requires iOS 7 or OS X 10.9. |
| [1.x](https://github.com/AFNetworking/AFNetworking/tree/1.x) | iOS 5 | Mac OS X 10.7 | |
| [0.10.x](https://github.com/AFNetworking/AFNetworking/tree/0.10.x) | iOS 4 | Mac OS X 10.6 | |
(OS X projects must support [64-bit with modern Cocoa runtime](https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtVersionsPlatforms.html)).
> Programming in Swift? Try [Alamofire](https://github.com/Alamofire/Alamofire) for a more conventional set of APIs.
## Architecture
### NSURLConnection
- `AFURLConnectionOperation`
- `AFHTTPRequestOperation`
- `AFHTTPRequestOperationManager`
### NSURLSession _(iOS 7 / Mac OS X 10.9)_
- `AFURLSessionManager`
- `AFHTTPSessionManager`
### Serialization
* `<AFURLRequestSerialization>`
- `AFHTTPRequestSerializer`
- `AFJSONRequestSerializer`
- `AFPropertyListRequestSerializer`
* `<AFURLResponseSerialization>`
- `AFHTTPResponseSerializer`
- `AFJSONResponseSerializer`
- `AFXMLParserResponseSerializer`
- `AFXMLDocumentResponseSerializer` _(Mac OS X)_
- `AFPropertyListResponseSerializer`
- `AFImageResponseSerializer`
- `AFCompoundResponseSerializer`
### Additional Functionality
- `AFSecurityPolicy`
- `AFNetworkReachabilityManager`
## Usage
### HTTP Request Operation Manager
`AFHTTPRequestOperationManager` encapsulates the common patterns of communicating with a web application over HTTP, including request creation, response serialization, network reachability monitoring, and security, as well as request operation management.
#### `GET` Request
```objective-c
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager GET:@"http://example.com/resources.json" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
```
#### `POST` URL-Form-Encoded Request
```objective-c
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"foo": @"bar"};
[manager POST:@"http://example.com/resources.json" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
```
#### `POST` Multi-Part Request
```objective-c
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"foo": @"bar"};
NSURL *filePath = [NSURL fileURLWithPath:@"file://path/to/image.png"];
[manager POST:@"http://example.com/resources.json" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileURL:filePath name:@"image" error:nil];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Success: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
```
---
### AFURLSessionManager
`AFURLSessionManager` creates and manages an `NSURLSession` object based on a specified `NSURLSessionConfiguration` object, which conforms to `<NSURLSessionTaskDelegate>`, `<NSURLSessionDataDelegate>`, `<NSURLSessionDownloadDelegate>`, and `<NSURLSessionDelegate>`.
#### Creating a Download Task
```objective-c
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];
NSURL *URL = [NSURL URLWithString:@"http://example.com/download.zip"];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
NSURLSessionDownloadTask *downloadTask = [manager downloadTaskWithRequest:request progress:nil destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) {
NSURL *documentsDirectoryURL = [[NSFileManager defaultManager] URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil];
return [documentsDirectoryURL URLByAppendingPathComponent:[response suggestedFilename]];
} completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) {
NSLog(@"File downloaded to: %@", filePath);
}];
[downloadTask resume];
```
#### Creating an Upload Task
```objective-c
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager = [[AFURLSessio
没有合适的资源?快使用搜索试试~ 我知道了~
local-weather-app-iOS:一款基于swift实现的天气预报APP
共139个文件
h:59个
png:19个
m:19个
需积分: 34 6 下载量 35 浏览量
2021-06-19
22:19:17
上传
评论 1
收藏 4.23MB ZIP 举报
温馨提示
Weather App for iOS 简介 通过Swift学习iOS开发之一:天气预报APP 功能 创建 Single View Application with Swift 利用 CoreLocation 模块获取当前位置信息(经纬度) 安装库管理器 CocoaPods 通过 CoacoaPods 配置文件,安装网络通信库 AFNetworking 以经纬度为参数,通过 AFNetworking 调用接口获取天气数据 解析数据,并更新当前温度 UILabel 和天气图片 UIImageView 该实例也展示了进程指示器 UIActivityIndicatorView 的运用 展示
资源详情
资源评论
资源推荐
收起资源包目录
local-weather-app-iOS:一款基于swift实现的天气预报APP (139个子文件)
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.gitignore 675B
AFURLSessionManager.h 30KB
AFURLRequestSerialization.h 22KB
AFHTTPRequestOperationManager.h 19KB
AFURLConnectionOperation.h 17KB
AFHTTPSessionManager.h 15KB
AFURLResponseSerialization.h 12KB
UIButton+AFNetworking.h 9KB
AFNetworkReachabilityManager.h 8KB
UIImageView+AFNetworking.h 7KB
UIWebView+AFNetworking.h 6KB
AFSecurityPolicy.h 5KB
UIAlertView+AFNetworking.h 5KB
AFHTTPRequestOperation.h 4KB
AFNetworkActivityIndicatorManager.h 4KB
UIProgressView+AFNetworking.h 3KB
UIActivityIndicatorView+AFNetworking.h 2KB
UIRefreshControl+AFNetworking.h 2KB
Pods-environment.h 2KB
AFNetworking.h 2KB
UIKit+AFNetworking.h 2KB
proj1-weather-bridging-header.h 307B
UIActivityIndicatorView+AFNetworking.h 76B
UIActivityIndicatorView+AFNetworking.h 76B
AFNetworkActivityIndicatorManager.h 73B
AFNetworkActivityIndicatorManager.h 73B
UIRefreshControl+AFNetworking.h 69B
UIRefreshControl+AFNetworking.h 69B
UIProgressView+AFNetworking.h 67B
UIProgressView+AFNetworking.h 67B
UIAlertView+AFNetworking.h 64B
UIImageView+AFNetworking.h 64B
UIAlertView+AFNetworking.h 64B
UIImageView+AFNetworking.h 64B
AFHTTPRequestOperationManager.h 63B
AFHTTPRequestOperationManager.h 63B
AFNetworkReachabilityManager.h 62B
UIWebView+AFNetworking.h 62B
AFNetworkReachabilityManager.h 62B
UIWebView+AFNetworking.h 62B
UIButton+AFNetworking.h 61B
UIButton+AFNetworking.h 61B
AFURLResponseSerialization.h 60B
AFURLResponseSerialization.h 60B
AFURLRequestSerialization.h 59B
AFURLRequestSerialization.h 59B
UIKit+AFNetworking.h 58B
AFURLConnectionOperation.h 58B
UIKit+AFNetworking.h 58B
AFURLConnectionOperation.h 58B
AFHTTPRequestOperation.h 56B
AFHTTPRequestOperation.h 56B
AFHTTPSessionManager.h 54B
AFHTTPSessionManager.h 54B
AFURLSessionManager.h 53B
AFURLSessionManager.h 53B
AFSecurityPolicy.h 50B
AFSecurityPolicy.h 50B
AFNetworking.h 46B
AFNetworking.h 46B
Contents.json 585B
LICENSE 1KB
LICENSE 1KB
Manifest.lock 828B
Podfile.lock 828B
AFURLRequestSerialization.m 49KB
AFURLSessionManager.m 45KB
AFURLResponseSerialization.m 27KB
AFURLConnectionOperation.m 27KB
AFHTTPSessionManager.m 12KB
UIButton+AFNetworking.m 11KB
AFHTTPRequestOperationManager.m 11KB
AFSecurityPolicy.m 10KB
AFNetworkReachabilityManager.m 10KB
UIProgressView+AFNetworking.m 8KB
UIImageView+AFNetworking.m 8KB
AFHTTPRequestOperation.m 7KB
UIAlertView+AFNetworking.m 6KB
UIWebView+AFNetworking.m 6KB
AFNetworkActivityIndicatorManager.m 6KB
UIActivityIndicatorView+AFNetworking.m 4KB
UIRefreshControl+AFNetworking.m 4KB
Pods-AFNetworking-dummy.m 138B
Pods-dummy.m 112B
Pods-acknowledgements.markdown 1KB
README.md 17KB
README.md 648B
project.pbxproj 56KB
project.pbxproj 25KB
Pods-AFNetworking-prefix.pch 77B
Pods-acknowledgements.plist 2KB
Info.plist 1KB
Info.plist 748B
共 139 条
- 1
- 2
缪建明
- 粉丝: 42
- 资源: 4686
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0