Playground学习笔记

前年当我第一次看到Xcode里面自带的Playground的时候,我并没有意识
到它的强大:

“真是有趣(没什么egg用)的玩意”,

当时我觉得它的作用只在于让人们更方便的学习swift,写写for循环,打印一下数字三角形什么的,当时我的脑洞只停留在这种程度;但当我发现它可以支持UIKit的时候,
我意识到事情没那么简单。

Playground学习笔记_第1张图片
使用playgrou脑洞实现动画效果

真是酷炫不是么?

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打开

Playground学习笔记_第2张图片
注意右边的箭头,点击展开更多信息
Playground学习笔记_第3张图片
详细信息
  • 支持富文档的注释,注释支持markdown。再用Just个作为例子,看看它的注释:
Playground学习笔记_第4张图片
支持markdown,其实你可以在里面添加图片都可以

那么,他是怎么写的呢?

Playground学习笔记_第5张图片
注意空格,只需在每行前面添加//:

当我在玩的Playground,觉得它真是神器,难怪Xcode给了他那么好的位置,
当然playground还有很多需要改进的地方,比如:

  1. 比较慢(建议不用的代码先注释掉,
    如果只是使用swift不实用UIKit即iOS那一套的话,建议选择OSX而不是iOS,快点,还有文件不要太大)
  2. 文件容易损坏,即使把代码删除了还是报错,当然很多是beta版时候才出现,但正式版奔溃会少一点
  3. 不算是缺点(其实是我太弱鸡),我觉得那些涉及人机交互的效果在Playground不太好做,
    当然我知道Playground不是万能的,但如果能够直接zai上面实现交互的话,那一定很爽。

说完了,祝大家玩的开心,祝大家有个愉快的周末 !

你可能感兴趣的:(Playground学习笔记)