官术网_书友最值得收藏!

  • Swift 2 Blueprints
  • Cecil Costa
  • 600字
  • 2021-07-09 21:36:42

Testing with Playground

Playground is a new Xcode 6 feature that allows the programmer to see the Swift code result before it is added to the project. This way, you can test your code separately from the project, receive real-time execution and feedback, and apply it when you are really convinced.

You can use Playground as if it were a separate project by navigating to File | New | Playground…. This way, you can do your tests without saving it with the rest of the project.

The other use of Playground is to add it to your project, so you can save your tests with your project. To do this, just add a new file with command + N, select the iOS Source section, and select Playground, as shown in the following screenshot:

Testing with Playground

Even if Playground is inside your project or workspace, it won't be able to use your project classes. It means that you might have to copy some files into your Playground and be aware of the modifications, as they are considered to be different containers with their own dependencies.

Tip

Don't use Playground to benchmark or test sensors. It wasn't done for this purpose.

Let's make a sample to create a customized view with Playground. We will create a class called CustomView, which inherits from UIView. Add a yellow background and a red border. Place the following code to start testing with Playground:

class CustomView: UIView {
    override init(frame: CGRect) {
        super.init(frame: frame)
        self.layer.borderColor = UIColor.redColor().CGColor
        self.backgroundColor = UIColor.yellowColor()
    }

    required init(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

Just below the code, you can create a frame and instantiate it:

var frame = CGRectMake(0, 0, 100, 100)
var myView = CustomView(frame: frame)

On the right-hand side, you will see the word CustomView appear. Move the mouse over this word and you will see two small icons appear. One of them is an eye called Quick Look. If you click on it, an image of your view will be displayed, as you can see in the following screenshot:

Testing with Playground

Here, for example, we can see that something is missing: the red border! The reason is that we are yet to set its width. Let's return to the initializer and add a border to our view:

        super.init(frame: frame)
        self.layer.borderWidth = 2
        self.layer.borderColor = UIColor.redColor().CGColor

Tip

Downloading the example code

You can download the example code files from your account at http://www.packtpub.com for all the Packt Publishing books you have purchased. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.

Now, you can check your view again using Quick Look. But if you want to get faster results, you can click on the circle icon that is to the right of the Quick Look icon. You will see your square under its declaration. Have a look at the following screenshot to see the expected result:

Testing with Playground

Let's make another change and see how fast Playground gives us results. Add a round corner to your view with the following code:

self.layer.cornerRadius = 15

As you could see, the Playground took approximately 1 second, as it needs to recompile the code, execute it, and retrieve the result. Don't think about what the sample does by itself. What you do have to think about is how much time you expend testing it on an app every time you have a change and how much time you expend testing it on Playground.

Note

For more information on how to use Playground, you can read Swift Cookbook by Packt Publishing.

主站蜘蛛池模板: 凤庆县| 无为县| 嘉义县| 乌鲁木齐市| 青河县| 商水县| 白城市| 柘荣县| 南康市| 新巴尔虎右旗| 仁怀市| 孟津县| 十堰市| 腾冲县| 花垣县| 新郑市| 章丘市| 清水河县| 姜堰市| 芮城县| 濮阳市| 临沧市| 武宣县| 冀州市| 汤原县| 永年县| 金秀| 铜鼓县| 扶余县| 弥渡县| 河源市| 新宾| 莒南县| 时尚| 正宁县| 岳西县| 吐鲁番市| 且末县| 镇坪县| 饶平县| 徐闻县|