美文网首页
Swift Playground 使用

Swift Playground 使用

作者: Lin__Chuan | 来源:发表于2018-09-30 01:36 被阅读86次

Swift Playground 首次公布于WWDC2016, 最开始是为了让人人都能愉快的学习 Swift 编程, 但发展至今, 这个工具越来越强大, 这里我分享几个比较常用的功能.

这是我做的一个回归分析可视化的UI.


image.png

在这张图里, 我们可以知道

  • 在 iOS / MacOS 的playground中, 我们可以导入对应系统支持的库文件, 还可以导入这种 Playground 独有的框架, 比如 PlaygroundSupport , 用于界面可视化.
  • Playground 支持 MarkUp 语法, 这是一种类似 Markdown 的语法.
  • 我们可以在playground 编写任何符合 iOS / MacOS 的代码, 包括各种动画, 游戏等.

Playground 的左边栏 - 文件区

当我们创建完一个 playground 后, 会自动创建一个 Page , 这个 Page 里包含两个文件, 如果文件夹是空的, 图标是暗色的.

  • Sources: 存放当前 Playground Page 的代码.
  • Resources: 资源文件, 包括图片, 文件等资源.

如果我们想创建多个 Playground Page, 在Xcode菜单栏, File -> New -> Playground Page, 就会创建一个新的 Page. 在运行代码时, 每个 Page 是分开的.

Playground 的中间栏 - 代码编辑区

在每一个 Page 中, 目前只能创建 Swift 文件, 代码注释沿用Markup 语法. 如果要开启 Markup 显示, 需要在 Xcode 的菜单栏, Editor -> Show Raw Markup(原始代码, 无效果) / Show Rendered Markup (渲染后的效果)

单行注释, 开启单行markup
//: code

多行注释
/*
code
*/

//: [上一页](@previous)
//: [下一页](@next)  上页下页的顺序由你创建的 Page 顺序决定, 它是可以调整的
//: [主页](MainPage) 这里直接写你创建的 Page 的名字

这下面的基本和 Markdown 语法一致
/*:
 # 大大大
 ## 大大
 ### 大
 * item1
 * item2
 
 > 标题
 
 # 分割线
 ---

 ## 链接
 * [点我啊](http://www.baidu.com)
 ## Image
 ![Image](image.png "Local image")

 ## 加粗
 **code**
*/

注意: markup语法显示只有在 playground 文件中有效, 在swift 文件中是没用的

在控制台, 我们可以选择 手动运行 / 自动运行 Playground, 当我们鼠标靠近 ▢ / ▷图标时, 会出现一个小三角, 鼠标左键长按, 就会出现选择框进行选择.


image.png

Playground 的右边栏 - 可视化区

这里的右边栏是我们将视图拆成两个形成的.


image.png

选中要运行的 Page, 点击运行 ▷, 在右边就能看到可视化界面. 注意: 如果你运行代码, 没看到对应的界面, 你得查看显示的视图是不是 Live View.


image.png

Playground 基本讲完了, 我在使用的过程中, 遇到 Xcode 多次崩溃, 或者在自己建的子文件里代码没有提示, 目前Playground 还是需要优化.

Playground 问题集锦

  1. 如果你新建一个类, 在主package 无法调用的话, 报如下错误
由于“内部”保护级别,初始化程序无法访问
initializer is inaccessible due to 'internal' protection level

解决方法:
如果你没有自定义初始化方法, 那么你需要在出错类中加入以下代码, 将初始化方法暴露出来

public init() {}

参考:
Swift Playground精讲
swift-summary 官方Swift语言教材的Playground总结版本。
Awesome-Swift-Playgrounds 优秀的Playground列表

相关文章

网友评论

      本文标题:Swift Playground 使用

      本文链接:https://www.haomeiwen.com/subject/cydioftx.html