今天寫一下Xcode中支持Swift語言的很好用的Playground功能。
打開Xcode工具,彈出如下彈框:
雙擊“Get started with a playground”,命個名字,即創建了一個新的Playground文件,如下圖:
可以看到,左側是編輯區,右側面板中顯示了str的內容“Hello, playground”。
通俗地說,playground文件是一個“所見即所得”的“操場”,因此在實現某些算法時,或者做某些嘗試時,我們可以不用在項目里找一個空白區域寫好代碼,一遍一遍地按command+r去調試,而是直接把代碼寫在playground編輯區里,不用按任何按鍵,等待很短時間,Xcode就會把運行好的結果直接顯示在右側的面板里了。
有沒有這么神奇?下面我們做個小測試,在playground中寫下如下代碼:
for i in1...100 {
? ? ? ?print(i)
}
手剛從鍵盤離開,就看到:
① 右側顯示了這個循環的次數
② 下方的控制臺打印出了1~100
速度如此之快~這對于我們以后的調試起到了很好的輔助作用。
Playground的功能遠不止這些。
在項目中,上述類似的功能性的代碼有時我們不會調試太久,因此對playground的使用需求也不會很頻繁,而真正浪費時間調試的,往往是一些自定義的view或者控件等,尤其是對坐標的計算、動畫的處理,往往要調試很長時間才會達到目的。
這個時候,playground就會派上用場。
細心的你可能已經發現,playground文件默認是有 import UIKit這句代碼的 ,也就是說它是支持UI控件的,問題是怎樣才能看到寫好的UI布局呢?
讓我們繼續寫以下代碼:
let view1 =UIView(frame:CGRect(x:0, y:0, width:100, height:50))
view1.backgroundColor=UIColor.blue
等了一會,發現右側也沒什么動靜,只顯示出兩行“UIView”,這是因為,我們只創建了一個UIView,而并沒有設置讓其顯示在playground中
首先導入PlaygroundSupport庫:
import PlaygroundSupport
然后添加如下代碼:
PlaygroundPage.current.liveView=view1
接著再點擊Assistant Editors on Right:
下面就是見證奇跡的時刻:
可以看到我們用代碼創建的藍色view1終于出現了!
playground支持的遠不止這些,我們可以對view進行動畫操作:
importUIKit
import UIKit
import PlaygroundSupport
let containerView = UIView(frame:CGRect(x:0.0, y:0.0, width:375.0, height:667.0))
PlaygroundPage.current.liveView = containerView
containerView.backgroundColor = UIColor.white
let contentView = UIView(frame:CGRect(x:0, y:0, width:100, height:100))
contentView.backgroundColor = UIColor.yellow
containerView.addSubview(contentView)
contentView.center = containerView.center
UIView.animate(withDuration:0.2, animations: {
contentView.transform = CGAffineTransform(scaleX:0.8, y:0.8)
}) { (result) in
UIView.animate(withDuration:1, animations: {
contentView.transform=CGAffineTransform(scaleX:4, y:4)
contentView.alpha=0
})
}
具體運行效果就等你去親眼觀看啦~