記錄專案中Swift3.0的語法變化
Swift中CGRect等結構體的變化
之前轉載了一篇部落格,只要介紹了CGRect,CGSize和CGPoint的Swift寫法
[轉]Swift 範的 CGRect、CGSize 和 CGPoint
在這裡主要記錄一下CGRect的變化,我們也可以延伸其他結構體的寫法
/// 官方文件
public init(x: CGFloat, y: CGFloat, width: CGFloat, height: CGFloat)
public init(x: Double, y: Double, width: Double, height: Double)
public init(x: Int, y: Int, width: Int, height: Int)
看到上面的文件我們就知道了怎麼寫了
let button = UIButton(frame: CGRect.init(x: 0, y: 0, width: 44, height: 44))
Swift3.0中Selector的變化
之前寫過一篇部落格主要介紹了Swift2.x中Selector的變化
Swift3.0中Selector的變化
/// Swift3.0中的寫法
let button = UIButton(type: .Custom)
button.addTarget(self, action: #selector(bottomButtonClick), for: .touchUpInside)
func bottomButtonClick(sender: UIButton){
/// 列印button的tag
}
Swift3.0中SnapKit的新寫法
最新專案中使用了OC和Swift的混編,專案中使用了SnapKit,但是使用pod管理時出現問題,但是SnapKit是支援Swift3.0的,在簡書上看到了一個不錯的部落格swift3.0使用SnapKit3.0.0+
SnapKit之前的寫法
//新增控制元件
view.addSubview(bottomButton)
bottomButton.snp_makeConstraints { (make) in
make.bottom.equalTo(view.snp_bottom)
make.left.right.equalTo(view)
make.height.equalTo(44)
}```
如果我們還是這樣寫,xcode8會顯示如下提示
![xcode8提示](http://upload-images.jianshu.io/upload_images/1242012-97ccaf2bc4052ed3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![xcode8提示](http://upload-images.jianshu.io/upload_images/1242012-a959208adaaaaf7d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
通過提示可以看到請使用`snp.xxx`代替`snp_xxx`
### SnapKit Swift3.0的寫法
```Swift
bottomButton.snp.makeConstraints{ (make) in
make.bottom.equalTo(view.snp.bottom)
make.left.right.equalTo(view)
make.height.equalTo(44)
}
相關文章
- maven初始化專案記錄Maven
- Flutter日曆專案的優化記錄Flutter優化
- 在 Homestead 中搭建 ThinkPHP 專案記錄PHP
- 如何在專案中記錄日誌資訊?
- 記錄 laradock下 guzzle 無法訪問本地專案
- swift3.0後的for in寫法Swift
- html語義化小記錄HTML
- Swift3.0語言教程字串大小寫轉化Swift字串
- python記錄day24 模組的語法Python
- go 學習記錄--基礎語法Go
- 專案出現的問題記錄
- awk 中的欄位、記錄和變數變數
- vuePC專案踩坑記錄Vue
- React專案踩坑記錄React
- Lucene--專案記錄(1)
- 小專案跟蹤記錄
- MHBlog專案部署記錄
- 單體專案語法練習
- GO語言變數作用域-坑記錄Go變數
- 資訊化專案抗癌9法
- 開源專案中,如何遵循語義化版本控制
- Robot Framework(8)——指令碼語法示例記錄Framework指令碼
- Nuxt3專案中,在構建專案時,無法獲取到 .env 檔案的變數,怎麼破?UX變數
- Flutter專案整合mqtt的過程記錄FlutterMQQT
- thinkphp6 專案搭建記錄PHP
- 大型專案部署注意點記錄
- 專案重構經驗記錄
- 沉思錄:IT專案產品化過程中的問題雜談(二)
- 需求分析過程中 專案裡可能需要的技術點記錄
- Swift3.0專案升級到4.2遇到問題Swift
- Swift3.0語言教程字串與檔案的資料轉換Swift字串
- vuepress專案 配置/使用/部署 markdown語法Vue
- pythonpyinotify監控檔案與目錄的變化Python
- 為什麼刪除記錄表檔案不會減小?(記錄的插入與刪除在磁碟上的變化)
- 專案管理中的變革藝術(轉)專案管理
- 去除專案中的SVN標記
- 用SQL語言刪除表中的記錄SQL
- SPF 記錄:原理、語法及配置方法簡介