Swift学习第二练——Swift项目时光电影

Swift学习第二练——Swift项目时光电影,第1张

概述Swift学习第二练——Swift项目时光电影     很早以前的一个OC的练习项目,用swift重新写了一遍,因为xcode版本的更新对swift的兼容度也在不断改变,此版本适用于xcode6.1。     这个项目中,用swift将iOS官方SDK中的HTTP进行了封装,使用了swift编写的异步加载网络图片的方法。练习了用swift *** 作界面布局,跳转界面等的方法。     下面是封装的下载类 Swift学习第二练——Swift项目时光电影

很早以前的一个OC的练习项目,用swift重新写了一遍,因为xcode版本的更新对swift的兼容度也在不断改变,此版本适用于xcode6.1。

这个项目中,用swift将iOS官方SDK中的http进行了封装,使用了swift编写的异步加载网络图片的方法。练习了用swift *** 作界面布局,跳转界面等的方法。

下面是封装的下载类的核心代码:

privatevarhttpconnection:NSURLConnection?classZYHhttpRequset:NSObject,NSURLConnectionDataDelegate{varrequestUrl:String?vardownloadData:NSMutableData=NSMutableData()varisDownloadSuccess:Bool?vardelegate:ZYHhttpRequestDelegate?classfuncrequestFormUrl(url:Nsstring)->ZYHhttpRequset{varoldRequest:ZYHhttpRequset?=ZYHhttpRequestManager.sharedhttpRequestManager().requestForKey(url)if(oldRequest!=nil){println("该任务存在")returnoldRequest!}//新建下载任务varrequest:ZYHhttpRequset=ZYHhttpRequset()request.requestUrl=urlrequest.startRequestUrl(url)ZYHhttpRequestManager.sharedhttpRequestManager().addTask(request,key:url)returnrequest}funcstop(){ifhttpconnection!=nil{httpconnection?.cancel()httpconnection=nil}}//开始下载请求privatefuncstartRequestUrl(url:Nsstring){ifhttpconnection!=nil{httpconnection!.cancel()httpconnection==nil}//创建连接对象varrequest=NSURLRequest(URL:NSURL(string:url)!)httpconnection=NSURLConnection(request:request,delegate:self)}//重写协议中的方法funcconnection(connection:NSURLConnection,dIDReceiveResponseresponse:NSURLResponse){downloadData.length=0}funcconnection(connection:NSURLConnection,dIDReceiveDatadata:NSData){downloadData.appendData(data)}funcconnectionDIDFinishLoading(connection:NSURLConnection){isDownloadSuccess=truedelegate!.ZYHhttpRequestSuccsee(self)ZYHhttpRequestManager.sharedhttpRequestManager().removeTaskFromUrl(self.requestUrl!)}funcconnection(connection:NSURLConnection,dIDFailWithErrorerror:NSError){println("加载失败")println(error)self.isDownloadSuccess=falseZYHhttpRequestManager.sharedhttpRequestManager().removeTaskFromUrl(self.requestUrl!)}}protocolZYHhttpRequestDelegate{funcZYHhttpRequestSuccsee(request:ZYHhttpRequset)}

项目部分截图:

github源码地址:https://github.com/ZYHshao/SwiftMovie

其中错误之处,欢迎指教,希望在交流中,不断进步!

专注技术,热爱生活,交流技术,也做朋友。

——珲少 QQ群:203317592

总结

以上是内存溢出为你收集整理的Swift学习第二练——Swift项目时光电影全部内容,希望文章能够帮你解决Swift学习第二练——Swift项目时光电影所遇到的程序开发问题。

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

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

原文地址: https://www.outofmemory.cn/web/1087007.html

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

发表评论

登录后才能评论

评论列表(0条)

保存