前年当我第一次看到Xcode
里面自带的Playground
的时候,我并没有意识
到它的强大:
“真是有趣(没什么egg用)的玩意”,
当时我觉得它的作用只在于让人们更方便的学习swift,写写for循环,打印一下数字三角形什么的,当时我的脑洞只停留在这种程度;但当我发现它可以支持UIKit的时候,
我意识到事情没那么简单。
真是酷炫不是么?
import UIKit
import XCPlayground
let containerView = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 375.0, height: 667.0))
XCPShowView("Container View", view: containerView)
let circle = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 50.0, height: 50.0))
circle.center = containerView.center
circle.layer.cornerRadius = 25.0
let startingColor = UIColor(red: (253.0/255.0), green: (159.0/255.0), blue: (47.0/255.0), alpha: 1.0)
circle.backgroundColor = startingColor
containerView.addSubview(circle);
let rectangle = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 50.0, height: 50.0))
rectangle.center = containerView.center
rectangle.layer.cornerRadius = 5.0
rectangle.backgroundColor = UIColor.whiteColor()
containerView.addSubview(rectangle)
UIView.animateWithDuration(2.0, animations: { () -> Void in
let endingColor = UIColor(red: (255.0/255.0), green: (61.0/255.0), blue: (24.0/255.0), alpha: 1.0)
circle.backgroundColor = endingColor
let scaleTransform = CGAffineTransformMakeScale(5.0, 5.0)
circle.transform = scaleTransform
let rotationTransform = CGAffineTransformMakeRotation(3.14)
rectangle.transform = rotationTransform
})
我逐渐意识到playground的强大,我觉得playground有以下几个优点:
-
快速学习swift语言.
有种用
storyboard
来做iOS
界面感觉,代码也能马上看出执行效果。
这样我们无论是学习swift的函数式编程,甚至是学习算法(这个脑洞可以有),
无需手动编译,我们都能很快的看到效果了。
-
快速测试代码效果。
像上面,我们在绘制了简单的动画,我们可以很方便的使用playgournd
来学习ios的动画效果,网络请求,多线程,playground也能集成第三方库,感觉
是不是很酷炫?举个例子:像github上有个有个小巧的http请求库,JustHTTP/Just
用playground写了份说明:下载地址,注意要用xcode7打开
- 支持富文档的注释,注释支持markdown。再用Just个作为例子,看看它的注释:
那么,他是怎么写的呢?
当我在玩的Playground,觉得它真是神器,难怪Xcode给了他那么好的位置,
当然playground还有很多需要改进的地方,比如:
- 比较慢(建议不用的代码先注释掉,
如果只是使用swift不实用UIKit
即iOS那一套的话,建议选择OSX而不是iOS,快点,还有文件不要太大) - 文件容易损坏,即使把代码删除了还是报错,当然很多是beta版时候才出现,但正式版奔溃会少一点
- 不算是缺点(其实是我太弱鸡),我觉得那些涉及人机交互的效果在Playground不太好做,
当然我知道Playground不是万能的,但如果能够直接zai上面实现交互的话,那一定很爽。
说完了,祝大家玩的开心,祝大家有个愉快的周末 !