今天写一下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
})
}
具体运行效果就等你去亲眼观看啦~