[快速学会Swift第三方库] HanekeSwift篇

[快速学会Swift第三方库] HanekeSwift篇,第1张

概述[快速学会Swift第三方库] HanekeSwift篇 Haneke是一个轻量级的缓存,为UIImage,JSON,NSData,String提供记忆和LRU磁盘缓存。 目录 快速学会Swift第三方库 HanekeSwift篇 目录 编码之前 导入HanekeSwift 其他 *** 作 使用缓存 NSData 示例代码 运行结果 JSON 测试接口 示例代码 运行结果 UIImage和String [快速学会Swift第三方库] HanekeSwift篇

Haneke是一个轻量级的缓存,为UIImage,JsON,NSData,String提供记忆和LRU磁盘缓存。

目录 快速学会Swift第三方库 HanekeSwift篇 目录 编码之前 导入HanekeSwift 其他 *** 作 使用缓存 NSData 示例代码 运行结果 JSON 测试接口 示例代码 运行结果 UIImage和String UIImage的拓展用法 示例代码 运行结果 fetcher的其他用法 深入学习 编码之前

编码之前

导入HanekeSwift

推荐使用CocoaPods进行导入,CocoaPods是一个负责管理iOS项目中第三方开源库的工具,安装CocoaPods之后使用命令行就能轻松地对所有第三方开源库进行安装和更新,而不需要每次上GitHub去下载。
CocoaPods的安装过程传送门:iOS 9 导入类库全面详尽过程(Ruby安装->CocoaPods安装->导入类库)
手动下载:GitHub-Haneke主页

装好CocoaPods后,修改Podfile文件内容为如下:

source 'https://github.com/CocoaPods/Specs.git'platform :ios,'9.0'use_frameworks!target 'Web' dopod 'HanekeSwift'endxcodeproj 'Desktop/Web/Web.xcodeproj'

target后面为工程名,最后一行为工程路径(这里的Web是我的工程名)

再执行命令:

$ pod install
其他 *** 作

另外还需要在Target->工程名->Build Settings->Search Paths->User header Search Paths处添加HanekeSwift所在的目录:

最后在你需要用到HanekeSwift的类中加上:

import Haneke
使用缓存 NSData 示例代码
let url = NSURL(string:"http://blog.csdn.net/sps900608")!        let data = NSData(contentsOfURL: url)!        let cache = Shared.dataCache        //存入缓存        cache.set(value: data,key: "data")        //获取缓存        cache.fetch(key: "data") { (cacheData) in            self.webVIEw.loadData(cacheData,MIMEType: "text/HTML",textEnCodingname: "utf-8",baseURL: NSURL())        }
运行结果 JsON

更多关于JsON的用法,可以参考
[快速学会Swift第三方库] SwiftyJSON篇
Swift学习笔记(2)网络数据交换格式(XML,JSON)解析

测试接口

在浏览器中打开”https://api.github.com/users/haneke“可以看到:

{  "login": "Haneke","ID": 8600207,"avatar_url": "https://avatars.githubusercontent.com/u/8600207?v=3","gravatar_ID": "","url": "https://API.github.com/users/Haneke","HTML_url": "https://github.com/Haneke","followers_url": "https://API.github.com/users/Haneke/followers","following_url": "https://API.github.com/users/Haneke/following{/other_user}","gists_url": "https://API.github.com/users/Haneke/gists{/gist_ID}","starred_url": "https://API.github.com/users/Haneke/starred{/owner}{/repo}","subscriptions_url": "https://API.github.com/users/Haneke/subscriptions","organizations_url": "https://API.github.com/users/Haneke/orgs","repos_url": "https://API.github.com/users/Haneke/repos","events_url": "https://API.github.com/users/Haneke/events{/privacy}","received_events_url": "https://API.github.com/users/Haneke/received_events","type": "Organization","site_admin": false,"name": "Haneke","company": null,"blog": null,"location": null,"email": null,"hireable": null,"bio": "A lightweight zero-config image cache for iOS,in Swift and Objective-C.","public_repos": 4,"public_gists": 0,"followers": 0,"following": 0,"created_at": "2014-08-30T17:18:40Z","updated_at": "2015-04-27T16:41:09Z" }
示例代码
func JsonCache()  {        let url = NSURL(string: "https://API.github.com/users/haneke")!        let cache = Shared.JsONCache        cache.fetch(URL: url) { (Json) in            print(Json.dictionary?@H_310_404@["bio"@H_310_404@]) } }
运行结果
Optional(A lightweight zero-config image cache for iOS,in Swift and Objective-C.)
UIImage和String

与NSData,JsON用法类似,只是定义Cache时有点区别:

let cache = Shared.imageCache
let cache = Shared.stringCache
UIImage的拓展用法 示例代码
func imageCache()  {        let url = NSURL(string: "http://www.51work6.com/service/download.PHP?email=scuxiatian@foxmail.com&filename=test1.jpg")!        imageVIEw.hnk_setImageFromURL(url)    }

或者

func imageCache()  {        let url = NSURL(string: "http://www.51work6.com/service/download.PHP?email=scuxiatian@foxmail.com&filename=test1.jpg")!        let data = NSData(contentsOfURL: url)!        let image = UIImage(data: data)!        imageVIEw.hnk_setimage(image,key: "test")    }
运行结果 fetcher的其他用法
func useFetcher()  {        let url = NSURL(string: "http://www.51work6.com/service/download.PHP?email=scuxiatian@foxmail.com&filename=test1.jpg")!        let fetcher = NetworkFetcher<UIImage>(URL: url)        let cache = Shared.imageCache        cache.fetch(fetcher: fetcher).onSuccess { (image) in            self.imageVIEw.image = image        }    }

运行效果与前面完全相同

深入学习

这里只列出了最常用的几种用法,如果你希望能够更加深入地学习HanekeSwift,可以前往GitHub-Haneke主页!

总结

以上是内存溢出为你收集整理的[快速学会Swift第三方库] HanekeSwift篇全部内容,希望文章能够帮你解决[快速学会Swift第三方库] HanekeSwift篇所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1075731.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存