swift3.0之后的Error处理】的更多相关文章

在之前的版本中,Swift中Error与OC中NSError没有关系.但是现在两者可以互相强转. 我们看看两者的区别:Error是一个实现Error协议的枚举或者结构体,对外能够获取的具体信息只有rawValue.但是我们知道NSError是有UserInfo和domain的. 先来看看Swift中Error 枚举Error: enum LoginError: Error { case LoginSucess case LoginPasswordWrong case LoginMobileInv…
swift3.0 原生GET请求  POST同理 func getrequest(){ let url = URL(string: "http://117.135.196.139:") var request = URLRequest(url: url!) let list  = NSMutableArray() var paramDic = [String: String]() if paramDic.count > 0 { //设置为POST请求 request.httpMe…
昨晚上一波手贱把我的小5s升到iOS10.如此配套的话,Xcode7.3升级Xcode8.1看来也是势在必行了.公司程序是Swift2.3的,出于对苹果的恐惧迟迟不敢升级.但丑媳妇儿总要见公婆,借这个机会,也趁双休时间,做一下适配好了. 首先,强调一点.做好备份!做好备份!做好备份!重要的事情说三遍. 1.关于使用的Swift代码库的问题 这是我最心力交瘁的一个问题. 项目中使用了Swift的几个开源框架,SwiftHTTP.SwiftyJSON.KingFisher等等.我的项目并没有使用Co…
swift3.0对绘图的API进行了优化,看起来更swift了. 看下UI的构造.设置画笔粗细.清空面板和保存到本地 下面直接看画板文件 这里我做的比较复杂,记录触摸到的每个点,再连成路径,其实直接用可变路径CGMutablePath可变路径就可以实现. 成员变量 public var lineWidth:CGFloat = 1 fileprivate var allLineArray = [[CGPoint]]() //所有的线 记录每一条线 fileprivate var currentPo…
这是公司上上上一个项目的自定义相机界面,原来是swift2.0写的,今天改为swift3.0,记录一下. 效果图如下:                                                                                                     使用AVFoundation制作. 属性: var device:AVCaptureDevice! //获取设备:如摄像头 var input:AVCaptureDeviceInp…
一.介绍 CoreData不像slqite3那样编写代码繁琐,同时避免了使用了SQL语句的麻烦,也可以回避使用C语言的语法,降低了iOS开发的技术门槛. CoreData可降低开发成本,提高代码质量.它是一个完全面向对象的API,能够合理管理内存,负责在数据库中存储数据,底层也是由类似 于SQL的技术实现的.CoreData是持久化存储的最佳方式,数据最终的存储类型可以是SQLite数据库.XML.二进制.内存或自定义数据类型 它和SQLite的区别是:只能取出整个实体记录,然后分离,之后才能得…
修改项目名称两种方式 1.Bundle name 2.Bundle display name try 三种处理异常的方式 // 在swift中提供三种处理异常的方式 // 方式一:try方式 程序员手动捕捉异常 do { try NSJSONSerialization.JSONObjectWithData(jsonData, options: .MutableContainers) } catch { // error异常的对象 print(error) } // 方式二:try?方式(常用方式…
本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发的,目前是Perfect2.0版本,关于Perfect框架,下方会详细的介绍.本篇博客会演示一个完整的Demo, 该Demo完全由Swift3.0开发,其中包括服务端和iOS客户端,数据库采用的是MySQL. 进一步说,本篇博客将会演示一个使用Swift3.0开发的记事本,当然该记事本的服务端和iO…
本篇博客中的代码实现依然采用Swift3.0来实现.在前几篇博客连续的介绍了关于查找的相关内容, 大约包括线性数据结构的顺序查找.折半查找.插值查找.Fibonacci查找,还包括数结构的二叉排序树以及平衡二叉树的构建与查找,然后还聊了哈希表的构建与查找.接下来的几篇博客中我们就集中的聊一下常见的集中排序方式,并并给出相应的时间复杂度.本篇博客我们将会详细的介绍冒泡排序.插入排序.希尔排序以及选择排序,下篇博客将继续介绍堆排序.归并排序以及快速排序的相关内容.当然上述内容的代码实现我们依然采用S…
Swift 3.0 做出的改变很大,在这篇文章中,我将尽我所能,利用代码样例给大家解释Swift 3.0最重要(要命)的改变,希望大家能够做好升级Swift 3.0 的准备.Swift 3.0的改变不仅仅是我下面的这个列表,但是列表中的每一项都是对你的一个巨大的打击. 虽然Swift 3.0 仍处于开发阶段.Swift 3.0 会有很多很多的变化,其中一些可能会在细微之处.然而,我们希望这些变化是一次性的.为了使Swift可以在未来几年更好的发展,在以后的版本更新中改变应该的显著变小.一些Swi…