swift3.0的一些改动

苹果推出了Swift3.0,改了不少地方,如今就我遇到的一一道来(有解法)  开始在IOS开发板块中发了,以为还应该在Swift板块中发下

第一,把c的for循环完全废弃了,可是那些人竟然没有给降序的写法(或许我不知道吧),解决办法,用降序的话初始值设为负数好比 for i : Int In -10 .. 0, 这样就ok了 有哥们告诉了能够 用(0...10).reverse()

第二,不少NS开头的东西都没了,好比NSNotification 等等 改为了去掉NS,固然相应地 方法也会改,它自动的会不成功,建议本身看API从新写

第三,Notification 的初始化,那个name不能用string类型的,必需用一个新的类型,叫Name

第四,就第二条来讲明一下NSURLSession,这个它改成了URLSession,而后你的request 也要改为URLRequest(要用var)

第五,_dispatch_once 废弃了, 不知道要改为什么样 提示是: use lazily initialized globals instead,谁知道告诉我下,感受很坑,我还好只有一个地方用到了

第六,CGFloat运算的时候: 好比定义一个 var a: CGFloat = 10, a = a / 2 这个没问题,可是 a = a / 7 就有问题了, 必需先把7 转为CGFloat, 坑爹

第七,CGRectMake这些没有了,统一成了CGRect,具体的看Api, 我要说的是有地方要注意, init(x: CGFloat, y: CGFloat, width: CGFloat, height: CGFloat),这里init能够不要, 可是里面的值若是是运算的话不能写的太长,要否则又会给你报个错, 比较好的方式是先定义一个值运算完

第八,view.isKindOfClass(UIImageView) 这种函数变了,会变成view.isKind(of: UIImageView)加上报错,而后给你一个自动解决的方法,结果是view.isKindof: (UIImageView)加上报错, whats fuck,还在解决中

第九,URLSessionDownloadDelegate 写法也出现的变化,具体的我还在研究

第十,public typealias SCNetworkReachabilityCallBack = @convention(c) (SCNetworkReachability, SCNetworkReachabilityFlags, UnsafeMutablePointer<Swift.Void>?) -> Swift.Void 这个函数变了(这里是变了以后的),其实以前的就是UnsafeMutablePointer<Void>,少了一个?,少了一个Swift. 哈哈哈哈哈哈

暂时写到这里,接下来又要去研究了,等碰到更多的或者上述的一些有解决方案的我会发函数

相关文章
相关标签/搜索