iOS开发笔记


1. 【1】默认缓存策略下( UseProtocolCachePolicy ),对于静态资源的访问,请求头会自动带上”If-None-Match” “ If-Modified-Since ” 
缓存方面,响应头带有“Last-Modified”、“ETag”两个字段
尽管Charles抓包结果为304,但是 URLSession依然为200,并带有响应内容; 网络中断 ,不管是否有缓存, 均失败

【2】如果 缓存策略为 ReloadIgnoringLocalCacheData ), 对于静态资源的访问,请求头不会带 ”If-None-Match” “ If-Modified-Since ”字段,尽管服务端响应头还是带有 “Last-Modified”、“ETag”两个字段, Charles抓包结果以及 URLSession 总是200, 并带有响应内容
手动在请求头上加上 ”If-None-Match” “ If-Modified-Since ”两个字段, Charles抓包结果以及 URLSession为 304, 无响应内容
ReloadIgnoringLocalCacheData:忽略缓存,从服务端拉取最新数据; 网络中断 ,不管是否有缓存, 均失败
结论:能否被缓存,需要服务端、客户端在响应头、请求头缓存字段上两两配合

【3】 ReturnCacheDataElseLoad:如果缓存有数据直接从缓存中拿,不发请求,不管服务器内容是否有改变;如果缓存中无数据,则发请求,请求头无缓存相关字段; 网络中断 ,如果缓存, URLSession依然为200

【4】 ReturnCacheDataDontLoad:如果缓存 有数据直接从缓存中拿,如果缓存无数据,则返回失败,始终都不会跟服务端有任何交互; 网络中断 ,如果缓存, URLSession依然为200


layer.shadowOpacity 阴影默认透明度为0,添加阴影时需要设定透明度


iOS 的相册是支持保存 GIF 和 APNG 动图的,只是不能直接播放。用 [ALAssetsLibrary writeImageDataToSavedPhotosAlbum:metadata:completionBlock] 可以直接把 APNG、GIF 的数据写入相册。如果图省事直接用 UIImageWriteToSavedPhotosAlbum() 写相册,那么图像会被强制转码为 PNG。

你可能感兴趣的:(swift)