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()

}

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

最新文章

  1. .Net Core 系列:1、环境搭建
  2. 【leetcode】Sqrt(x)
  3. BZOJ4631 : 踩气球
  4. clang format 官方文档自定义参数介绍(中英文)
  5. JS正则表达式获取字符串中特定字符
  6. 19、android面试题整理(自己给自己充充电吧)
  7. java.lang.ThreadLocal源码分析
  8. windows2003通过iis配置ftp服务器
  9. 关于VI&amp;VIM的基本使用方法
  10. Expression构建DataTable to Entity 映射委托
  11. Hdu3436-Queue-jumpers(伸展树)
  12. git pull VS git fetch&amp;merge(good)
  13. (三)Python在windows上安装
  14. 如何在仅主机模式下ping通网路上网
  15. Nginx日志切割案例讲解,Nginx的知识讲解
  16. PHP奇淫技巧
  17. React 学习过程中常见的错误
  18. C 设计模式:装饰模式
  19. jquery中的attr与prop的区别,什么时候用attr,什么时候用prop
  20. Android 获得图片并解码成缩略图以减少内存消耗

热门文章

  1. HDU 2674 N!Again(数学思维水题)
  2. Static vs Dynamic Scope
  3. 免安装jdk 和 免安装tomcat
  4. 一、Android NDK编程预备之Java jni简介
  5. HDU5597/BestCoder Round #66 (div.2) GTW likes function 打表欧拉函数
  6. springmvc的mvc:view-controller标签
  7. C#播放声音
  8. [Microsoft][ODBC Microsoft Access Driver] INSERT INTO 语句的语法错误。
  9. WordPress插件:幻灯片Meta Slider
  10. [iOS]URL编码和解码