iOS网络编程 - 2
2015-10-16 21:52
831 查看
了解iOS的网络编程并不容易,整一块的网络编程:协议,请求方式,缓存方式(图片、文本等不同处理),多线程等等等都是一大块内容,而之前因为AFNetworking用得太多了。工具用多了实质上的东西却丢了,所以我的学习计划是先从iOS的各种与网络有关的类出发。
iOS原生的网络请求的步骤:
NSURL:
太简单了,直接贴: http://blog.csdn.net/zhibudefeng/article/details/7920686
NSURLRequest:
先来看看NSURLRequest的几个重要的属性:
不可变的URL:
@property (nullable, readonly, copy) NSURL *URL;缓存机制:
@property (readonly) NSURLRequestCachePolicy cachePolicy;
对应的枚举值,非常好理解,网上一查就明白了:
typedef NS_ENUM(NSUInteger, NSURLRequestCachePolicy)
{
NSURLRequestUseProtocolCachePolicy = 0,
NSURLRequestReloadIgnoringLocalCacheData = 1,
NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4, // Unimplemented
NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData,
NSURLRequestReturnCacheDataElseLoad = 2,
NSURLRequestReturnCacheDataDontLoad = 3,
NSURLRequestReloadRevalidatingCacheData = 5, // Unimplemented
};
超时:
@property (readonly) NSTimeInterval timeoutInterval;
还有两个常用的初始化的方法:
+ (instancetype)requestWithURL:(NSURL *)URL cachePolicy:(NSURLRequestCachePolicy)cachePolicy timeoutInterval:(NSTimeInterval)timeoutInterval;
NSMutableRequest 也差不多。
遇到一个挺奇怪的类 :NSURLRequestInternal 也找不到相关的资料
待续...
iOS原生的网络请求的步骤:
#pragma mark 发送数据请求 -(void)sendRequest { //用NSString来表示访问地址 NSString *urlStr=[NSString stringWithFormat:@"http://192.168.1.208/FileDownload.aspx?file=%@",_textField.text]; //注意中文字母所限,所以转码 urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; //封装成iOS下的NSURL NSURL* url = [NSURL URLWithString:urlStr]; //封装成请求类 NSURLRequest* request = [[NSURLRequest alloc] initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:15.0f]; //封装成网络连接类 NSURLConnection* connection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; //启动连接 [connection start]; }
NSURL:
太简单了,直接贴: http://blog.csdn.net/zhibudefeng/article/details/7920686
NSURLRequest:
先来看看NSURLRequest的几个重要的属性:
不可变的URL:
@property (nullable, readonly, copy) NSURL *URL;缓存机制:
@property (readonly) NSURLRequestCachePolicy cachePolicy;
对应的枚举值,非常好理解,网上一查就明白了:
typedef NS_ENUM(NSUInteger, NSURLRequestCachePolicy)
{
NSURLRequestUseProtocolCachePolicy = 0,
NSURLRequestReloadIgnoringLocalCacheData = 1,
NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4, // Unimplemented
NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData,
NSURLRequestReturnCacheDataElseLoad = 2,
NSURLRequestReturnCacheDataDontLoad = 3,
NSURLRequestReloadRevalidatingCacheData = 5, // Unimplemented
};
超时:
@property (readonly) NSTimeInterval timeoutInterval;
还有两个常用的初始化的方法:
+ (instancetype)requestWithURL:(NSURL *)URL cachePolicy:(NSURLRequestCachePolicy)cachePolicy timeoutInterval:(NSTimeInterval)timeoutInterval;
- (instancetype)initWithURL:(NSURL *)URL cachePolicy:(NSURLRequestCachePolicy)cachePolicy timeoutInterval:(NSTimeInterval)timeoutInterval NS_DESIGNATED_INITIALIZER;
NSMutableRequest 也差不多。
遇到一个挺奇怪的类 :NSURLRequestInternal 也找不到相关的资料
待续...
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- Lua下基本的网络编程示例
- linux网络编程用到的网络函数详解用和使用示例
- C#网络编程基础之进程和线程详解
- C++ 网络编程 总结
- Linux网络编程之UDP Socket程序示例
- Android网络编程之UDP通信模型实例
- 谈谈新手如何学习PHP网络编程第1/2页
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- Python 网络编程起步(Socket发送消息)
- c# socket网络编程接收发送数据示例代码
- .net平台推送ios消息的实现方法