swift1.2适配swift2.0

以下列举的是我在项目中遇到的需要修改的,基本常见的问题就没有罗列了。

1.find函数变成了为indexOf

2.sort变成了sortInPlace

3.sorted变成了sort

4.enumerate(self.tableView.visibleCells)修改为self.tableView.visibleCells.enumerate()

5.Printable 变成了CustomStringConvertible

6.DebugPrintable 变成了CustomDebugStringConvertible

7.结构体:GeneratorOf 变成了  AnyGenerator

8.translatesAutoresizingMaskToConstraints = false代替了setTranslatesAutoresizingMaskToConstrains(false)。

9.UITableView的dequeueReusableCellWithIdentifier方法返回值为UITableViewCell?所以不用as UITableViewCell

10.tableView.indexPathsForVisibleRows()   返回值为[AnyObject]修改为tableView.indexPathsForVisibleRows   返回值为 [NSIndexPath]

11.NSDataBase64EncodingOptions.allZeros 替换为NSDataBase64EncodingOptions()

12.error 全数替换成了 throw,使用throw catch 的异常处理机制。如下代码:

使用do try cacth
//mqy
do{
let player = try AVAudioPlayer(contentsOfURL: url!)
player.volume = 0.005
player.prepareToPlay()
player.play()
delay(, task: { () -> () in
player.stop()
}) }catch let error as NSError{
print("error:\(error)")
} // var player = AVAudioPlayer( contentsOfURL: url!, error: nil)
// player.volume = 0.005
// player.prepareToPlay()
// player.play()
// delay(1, task: { () -> () in
// player.stop()
// })

13.tableview的init方法

//    override init(frame: CGRect) {

//        super.init(frame: frame)

//    }

改变为如下:

override init(frame: CGRect, style: UITableViewStyle) {

super.init(frame: frame, style: UITableViewStyle.Plain)

self.setUp()

}

14.指示startUserActivity()方法只在iOS8.0+,OSX10.10+以及以其他平台的全版本可用。

@available(iOS 8.0, OSX 10.10, *)

func startUserActivity() -> NSUserActivity {

}

15. button

let back = UIButton.buttonWithType(UIButtonType.Custom) as! UIButton

改变为

let back = UIButton(type: UIButtonType.Custom)

16.enumerate

for (idx,data) in enumerate(self.dataArray){}

改变为

for (idx,data) in self.dataArray.enumerate(){}

17. supportedInterfaceOrientations 函数返回值类型改变

override func supportedInterfaceOrientations() -> Int {

return Int(UIInterfaceOrientationMask.All.rawValue)

}

返回值int修改为UIInterfaceOrientationMask:

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {

return UIInterfaceOrientationMask.All

}

18.

delay(2, { callback(type: RealtimeService.CallbackType.Connected, room: room, data: "") })

改变为需要task:

delay(2, task: { callback(type: RealtimeService.CallbackType.Connected, room: room, data: "") })

19.

UIColorFromRGBA(0xFFFFFF, 0.2)

改变为:

UIColorFromRGBA(0x000000, alpha: 0.3)

20.使用到|语句的都改变为如下

UIView.transitionWithView(self.likeButton, duration: 1, options: UIViewAnimationOptions.TransitionFlipFromLeft | UIViewAnimationOptions.AllowUserInteraction, animations:

改变为:

UIView.transitionWithView(self.likeButton, duration: 1, options: [UIViewAnimationOptions.TransitionFlipFromLeft , UIViewAnimationOptions.AllowUserInteraction], animations: { () -> Void

21. filter

let numbers = [1, 5, 6, 10, 16, 42, 45]

find(filter(map(numbers, { $0 * 2}), { $0 % 3 == 0 }), 90)

改变为如下

// Swift 2

numbers.map { $0 * 2 }.filter { $0 % 3 == 0 }.indexOf(90)

22.使用@objc  必须是继承自NSObject类型

23.

override func observeValueForKeyPath(keyPath: String, ofObject object: AnyObject, change: [NSObject : AnyObject], context: UnsafeMutablePointer<Void>) {

<#code#>

}

改变为:

override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {

MBProgressHUD.hideHUDForView(self.view, animated: true)

self.loadProductArray()

self.collectionView.reloadData()

}

好了,想到的就这些了,其他改变的比较常见,就没有记录了。

总结swift 1.2适配swift2.0遇到的改变的更多相关文章

  1. Swift基础知识入门(基于Swift2.0)

    //: Playground - noun: a place where people can play import UIKit // Swift中不需要设置main函数入口,编译器会在全局函数中自 ...

  2. (IOS)Swift2.0 Radio 程序分析

    本文主要分享下楼主在学习Swift编程过程中,对GitHub上的一个开源项目Swift Radio的研究心得. 项目地址:https://github.com/swiftcodex/Swift-Rad ...

  3. [Swift2.0系列]Defer/Guard 基础语法

    1.Defer Swift2.0中加入了defer新语法声明.defer译为延缓.推迟之意.那么在Swift2.0中它将被应用于什么位置呢?比如,读取某目录下的文件内容并处理数据,你需要首先定位到文件 ...

  4. Swift2.0 中的String(三):类型转换

    本系列第三篇,String相关的类型转换.其他的几篇传送门(GitHub打不开链接的同学请自行把地址github改成gitcafe,或者直接去归档里找:-P): Swift2.0 中的String(一 ...

  5. Swift2.0 中的String(二):基本操作

    Swift中的字符串,第二篇,基本操作.其他的几篇传送门(GitHub打不开链接的同学请自行把地址github改成gitcafe,或者直接去归档里找:-P): Swift2.0 中的String(一) ...

  6. swift2.0 UIImagePickerController 拍照 相册 录像

    系统 ios9.1 语言swift2.0 在app 里最常用的功能就是多媒体选择,首先我们storyboard 创建一个button 用于触发选择事件 @IBAction func selectIma ...

  7. Swift2.0语言教程之函数嵌套调用形式

    Swift2.0语言教程之函数嵌套调用形式 Swift2.0语言函数嵌套调用形式 在Swift中,在函数中还能够调用函数,从而形成嵌套调用.嵌套调用的形式往往有两种:一种是在一个函数中调用其它函数:还 ...

  8. Swift2.0语言教程之类的嵌套与可选链接

    Swift2.0语言教程之类的嵌套与可选链接 Swift2.0语言类的嵌套 在一个类中可以嵌套一个或者多个类.它们的嵌套形式也是不同的,大致分为了两种:直接嵌套和多次嵌套.下面依次讲解这两种方式. S ...

  9. Swift2.0语言教程之下标脚本

    Swift2.0语言教程之下标脚本 下标脚本 下标脚本是访问对象.集合或者序列的快速方式.开发者不需要调用实例特定的赋值和访问方法,就可以直接访问所需要的数值.例如在数组中,可以直接使用下标去访问或者 ...

随机推荐

  1. DevSecOps简介(二)

    越来越多的组织机构开始采取 DevOps 实践,作为呼应,本文将概括强调很多人认为这一实践缺失的部分:安全.随着 NV (网络虚拟化) 和 NFV (网络功能虚拟化)的使用率逐步攀升,在开发和部署流程 ...

  2. 整数划分 Integer Partition(一)

    话说今天百度面试,可能是由于我表现的不太好,面试官显得有点不耐烦,说话的语气也很具有嘲讽的意思,搞得我有点不爽.Whatever,面试中有问到整数划分问题,回答这个问题过程中被面试官搞的不胜其烦,最后 ...

  3. poj 2348

    Euclid's Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7418   Accepted: 3022 Des ...

  4. setTimeout延时0毫秒的作用和问题

    一 作用 http://www.cnblogs.com/xieex/archive/2008/07/11/1241151.html 经常看到setTimeout延时0ms的javascript代码,感 ...

  5. swift函数和初始化控件(// MARK:分割线)

    import UIKit , , , )         view.backgroundColor = UIColor.redColor()         self.view.addSubview( ...

  6. POJ 1607

    #include<iostream> #include<iomanip> using namespace std; int main() { //freopen("a ...

  7. php获取网页header信息的4种方法

    php获取网页header信息的方法多种多样,就php语言来说,我知道的方法有4种, 下面逐一献上. 方法一:使用get_headers()函数 推荐指数: ★★★★★ get_header方法最简单 ...

  8. Microsoft SDK 中Sample案例之Amcap項目 的运行方法(转)

    http://blog.csdn.net/erick08/article/details/7194575 Microsoft  SDK 中Sample之Amcap 的运行方法      写这篇文章的由 ...

  9. UVA 557 Burger 排列组合递推

    When Mr. and Mrs. Clinton's twin sons Ben and Bill had their tenth birthday, the party was held at t ...

  10. C# Socket 入门2(转)

    现在来传一个图片看看, 改改程序, 看看服务端 图片为 140K, 1.jgp 1. 服务端  1 using System;  2 using System.Collections.Generic; ...