playground怎么读d

您所在的位置: &
所见即所得的Playground
所见即所得的Playground
人民邮电出版社
《Swift权威指南》第1章未来的iOS开发语言Swift语言介绍,阅读完本章后读者已经对Swift语言有了一个大致的了解。也学会了如何搭建实验环境。本节为大家介绍所见即所得的Playground。
1.6& 所见即所得的Playground
XCode 6新增加了一个Playground,在iOS和OS X工程中都可以使用Playground。这个东西其实就是一个所见即所得的写代码的文件。这里的所见即所得就是编写代码后,不需要运行,立刻会显示出结果,并且还可以显示出代码中某个变量/常量的当前值。Playground比较适合于测试Swift语言的代码。但Playground在输出结果时可能会有些慢,而且写代码时会有些迟钝。这可能是因为需要实时解释Swift代码的原因!
要想使用Playground,需要先创建Swift工程(iOS和OS?X工程都可以),然后在当前工程中点击&File&&&New&&&File&菜单项,会弹出一个如图1-8所示的窗口。在&iOS&和&OS X&中都有一个&source&节点,在该节点中都有一个&Playground&模板。不管是什么工程,选择哪个&source&节点下的&Playground&都可以。
选择&Playground&模板后,进入下一个设置页面。在该设置页面中需要选择playground文件的存储目录,通常和Swift文件放在同一个目录中。如果下方的&Targets&列表中的工程未选择,需要选择该工程,效果如图1-9所示。
如果成功创建了Playground文件,在工程目录中会多了一个文件扩展名为&playground&的文件。默认是MyPlayground.playground。如果读者将上一节的代码都复制到MyPlayground.playground文件中,就会在代码右侧输出相应的结果,并且在输出结果和代码之间的部分还会显示当前变量/常量的当前值,效果如图1-10所示。
喜欢的朋友可以添加我们的微信账号:
51CTO读书频道二维码
51CTO读书频道活动讨论群:【责任编辑: TEL:(010)】&&&&&&
关于&&的更多文章
苹果在2014WWDC上发布的新编程语言Swift相信牵动着大部分iOS开发
本书描述了黑客用默默无闻的行动为数字世界照亮了一条道路的故事。
讲师: 24人学习过讲师: 63人学习过讲师: 15人学习过
Swift语言基础部分(第1章~第17章)主要介绍了Swift语
本书是ASP.NET 领域的鸿篇巨制,全面讲解了ASP.NET 4.
《移动社交时代的互动搜索营销(全彩)》跳出搜索引擎
Python是目前流行的脚本语言之一。本书由浅入深、循序渐进地讲解如何使用Python进行程序开发。全书内容包括Python安装、开发工具
51CTO旗下网站窥探Swift编程之在Playground上尽情的玩耍 - IOS - 伯乐在线
& 窥探Swift编程之在Playground上尽情的玩耍
自从苹果公司发布Swift的时候,Xcode上又多了一样新的东西—“Playground”。Playground就像操场一样,可以供我们在代码的世界里尽情的玩耍,在本篇博客中就介绍如何借助Playground来快速的上手Swift编程。Playground在学习Swift语言中确实扮演着重要的角色,还是那句话,咸蛋就到这儿吧,下面就切入今天的正题,如何去创建一个Playground,又如何来使用Playground.
一.创建属于你的Playground
还是用之前的SwiftDemo演示来如何创建一个属于你自己的Playground.
1.在相应的文件夹下,右键点击,选择New File…………如下图所示:
2.经过第一步以后你会看到下面的界面,我们选择iOS中的Source下面的Playground,然后点击Next
3.键入你所创建的playground的名字,如下所示
4.创建好的Playground如下所示
二、在Playground中进行玩耍
1.Playground是所见即所得的,就是你在左边写的代码,会立刻在右边看到该行代码运行的结果,如下图所示,下面写了一个循环5次的for-in循环,右边就立刻出现了该循环对应的循环次数:5 times
2.你可以点击5 times后面的小白点对该循环进行更为详细的查看,如下图所示,点击白点后回出现该循环运行后在控制台上输出的内容,然后是每次循环index值的变化,是不是觉得特别的赞呢。
今天的博客演示了如何在你的工程中创建Playground文件,并且如何去利用它来窥探Swift语言,接下来的博客中会把Playground作为向导来更为详细的窥探。Swift语言的更多的细节,如果对于iOS开发有问题可以在下面留言进行交流学习,或者加入上面的QQ交流群,共同进步与提高。一起期待下面的一些Swift教程吧,最后要感谢清华出版社给予的对《Swift编程入门经典》的翻译工作。
打赏支持我写出更多好文章,谢谢!
打赏支持我写出更多好文章,谢谢!
关于作者:
可能感兴趣的话题
关于iOS频道
iOS频道分享iOS和Swift开发,应用设计和推广,iOS相关的行业动态。
新浪微博:
推荐微信号
(加好友请注明来意)
– 好的话题、有启发的回复、值得信赖的圈子
– 分享和发现有价值的内容与观点
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 翻译传播优秀的外文文章
– 国内外的精选文章
– UI,网页,交互和用户体验
– 专注iOS技术分享
– 专注Android技术分享
– JavaScript, HTML5, CSS
– 专注Java技术分享
– 专注Python技术分享
& 2017 伯乐在线新浪广告共享计划>
广告共享计划
playground前用介词in还是on
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。如何优雅地使用 Playground - 简书
如何优雅地使用 Playground
苹果为推动 Swift 的发展花了很大的力气,Playground 就是其中的一个。Playground 大大降低了 Swift 的学习门槛,它可以实时执行 swift 代码,并将结果显示出来,并且还有各种交互来加深你对 swift 语法的理解。
但是你要是以为这就是 Playground 的全部功能,你就错了。其实 Playground 还有很多其它的高级用法,特别是在 Xcode 7 之后,苹果再一次对 Playground 进行了改进,让它的功能更加强大了。
Sources 目录
通常情况下,我们直接在 Playground 上面写代码,然后编译器会实时编译我们代码,并将结果显示出来。这很好,我们可以实时得到代码的反馈。
但是这也会产生一个问题,如果我们写了一个函数,或者自定义了一个 view,这部分代码一般情况下是不会变的,而编译器却会一次又一次地去编译这些代码,最终的结果就是导致效率的低下。
这时,Sources 目录就派上用场了,使用 Cmd + 1 打开项目导航栏(Project Navigator),可以看到一个 Sources 目录。放到此目录下的源文件会被编译成模块(module)并自动导入到 Playground 中,并且这个编译只会进行一次(或者我们对该目录下的文件进行修改的时候),而非每次你敲入一个字母的时候就编译一次。
这将会大大提高代码执行的效率。
注意:由于此目录下的文件都是被编译成模块导入的,只有被设置成 public 的类型,属性或方法才能在 Playground 中使用。
由于 Playground 并没有使用沙盒机制,所以我们无法直接使用沙盒来存储资源文件。
但是,这并不意味着在 Playground 中没办法使用资源文件,Playground 提供了两个地方来存储资源,一个是每个 Playground 都独立的资源,而另一个是所有 Playground 都共享的资源。
在打开的项目导航栏中可以看到有一个 Resources 目录,放置到此目录下的资源是每个 Playground 独立的。
这个目录的资源是直接放到 mainBundle 中的,可以使用如下代码来获取资源路径:
if let path = NSBundle.mainBundle().pathForResource("example", ofType: "json") {
// do something with json
如果是图片文件,也可以直接使用UIImage(named:)来获取。
共享资源的目录是放在用户目录的 Documents 目录下的。在代码中可以直接使用XCPlaygroundSharedDataDirectoryURL来获取共享资源目录的 URL(需要先导入 XCPlayground 模块)。
import XCPlaygroud
let sharedFileURL = XCPlaygroundSharedDataDirectoryURL.URLByAppendingPathComponent("example.json")
注意:你需要创建~/Documents/Shared Playground Data目录,并将资源放到此目录下,才能在 Playground 中获取到
Playground 中的代码是顶层代码(top-level code),也就是它是在于全局作用域中的。这些代码将会从上到下执行,并在执行完毕之后立即停止。
我们的异步回调代码一般都无法在程序结束之前获得执行,因此如果我们在 Playground 执行网络,或者其它耗时的异步操作,都无法获得我们想要的结果(之前我在 Playgroud 中学习网络操作的时候,就被这个特性折磨到发狂,我一直以为是自己的网络代码写错了)。
为了让程序在代码执行结束后继续执行,我们可以使用如下代码:
XCPlaygroundPage.currentPage.needsIndefiniteExecution = true
这句代码会让 Playground 永远执行下去 ,当我们获取了需要的结果后,可以使用XCPlaygroundPage.currentPage.finishExecution()停止 Playground
import XCPlayground
XCPlaygroundPage.currentPage.needsIndefiniteExecution = true
let url = NSURL(string: "http://httpbin.org/image/png")!
let task = NSURLSession.sharedSession().dataTaskWithURL(url) {
data, _, _ in
let image = UIImage(data: data!)
XCPlaygroundPage.currentPage.finishExecution()
task.resume()
支持 Markdown
Playground 已经原生支持 markdown 注释渲染,只需要在单行或多行注释的后面添加冒号:,标记这是一个 markdown 注释。
//: This line will have **bold** and *italic* text.
## Headers of All Sizes
### Lists of Links
- [NSHipster]()
- [ASCIIwwdc]()
- [SwiftDoc](http://swiftdoc.org)
可以到菜单 Editor → Show Rendered Markup 下切换是否进行 markdown 渲染。
markdown渲染
Playground 支持多页面,这可以让我们将不同类别的代码分别写到不同的页面下,并可以在多个页面之间进行跳转。
playground多页面
在项目导航栏中,选择File & New & Playground Page, 就可以新建一个页面,或者选择项目导航栏左下角的 + 号选择 New Page。
注意:如果本 Playground 是第一次新建 Page,则系统会产生两个 Page,一个代表你当前的页面,一个是新建的页面。
Playground 支持三种方式的页面跳转:
跳转到指定页
页面顺序都是根据它们在项目文件中的排序来决定的。
上一页与下一页的语法:
//: ["Go to Next Page"](@next)
//: ["Go to Previous Page"](@previous)
与 markdown 中的超链接类似,方括号中的代码要显示的文字,而小括号则代表跳转的目的地。
指定页跳转:
//: ["Go to The End"](PageName)
PageName 代表目标页面的名称,如果页面名称中有空格,则需要使用%20来代替,这是 ASCII 中空格的符号。如下:
//: ["Go to The End"](Last%20Page)
Playground 中还有很多其它的高级功能,这里只是列出了我自己比较经常用到的功能,如果你比较感兴趣,可以,或者。

我要回帖

更多关于 classroom 的文章

 

随机推荐