Swift Playground 使用

2020年7月8日更新

如何在Playground中加載文件呢

// 從文件中加載數(shù)據(jù)
let path = "/Users/xx/Documents/我的案例/xx.txt"
let data = FileManager().contents(atPath: path)
let originalString = String(data: data!, encoding: .utf8)

最關(guān)鍵的是這個(gè)文件地址, 它是文件所在硬盤中實(shí)際的全地址. 這個(gè)地址不需要你費(fèi)勁去找, 直接把文件拖到 Playground 的代碼編輯區(qū), 地址會自動顯示






Swift Playground 首次公布于WWDC2016, 最開始是為了讓人人都能愉快的學(xué)習(xí) Swift 編程, 但發(fā)展至今, 這個(gè)工具越來越強(qiáng)大, 這里我分享幾個(gè)比較常用的功能.

這是我做的一個(gè)回歸分析可視化的UI.


image.png

在這張圖里, 我們可以知道

  • 在 iOS / MacOS 的playground中, 我們可以導(dǎo)入對應(yīng)系統(tǒng)支持的庫文件, 還可以導(dǎo)入這種 Playground 獨(dú)有的框架, 比如 PlaygroundSupport , 用于界面可視化.
  • Playground 支持 MarkUp 語法, 這是一種類似 Markdown 的語法.
  • 我們可以在playground 編寫任何符合 iOS / MacOS 的代碼, 包括各種動畫, 游戲等.

Playground 的左邊欄 - 文件區(qū)

當(dāng)我們創(chuàng)建完一個(gè) playground 后, 會自動創(chuàng)建一個(gè) Page , 這個(gè) Page 里包含兩個(gè)文件, 如果文件夾是空的, 圖標(biāo)是暗色的.

  • Sources: 存放當(dāng)前 Playground Page 的代碼.
  • Resources: 資源文件, 包括圖片, 文件等資源.

如果我們想創(chuàng)建多個(gè) Playground Page, 在Xcode菜單欄, File -> New -> Playground Page, 就會創(chuàng)建一個(gè)新的 Page. 在運(yùn)行代碼時(shí), 每個(gè) Page 是分開的.

Playground 的中間欄 - 代碼編輯區(qū)

在每一個(gè) Page 中, 目前只能創(chuàng)建 Swift 文件, 代碼注釋沿用Markup 語法. 如果要開啟 Markup 顯示, 需要在 Xcode 的菜單欄, Editor -> Show Raw Markup(原始代碼, 無效果) / Show Rendered Markup (渲染后的效果)

單行注釋, 開啟單行markup
//: code

多行注釋
/*
code
*/

//: [上一頁](@previous)
//: [下一頁](@next)  上頁下頁的順序由你創(chuàng)建的 Page 順序決定, 它是可以調(diào)整的
//: [主頁](MainPage) 這里直接寫你創(chuàng)建的 Page 的名字

這下面的基本和 Markdown 語法一致
/*:
 # 大大大
 ## 大大
 ### 大
 * item1
 * item2
 
 > 標(biāo)題
 
 # 分割線
 ---

 ## 鏈接
 * [點(diǎn)我啊](http://www.baidu.com)
 ## Image
 ![Image](image.png "Local image")

 ## 加粗
 **code**
*/

注意: markup語法顯示只有在 playground 文件中有效, 在swift 文件中是沒用的

在控制臺, 我們可以選擇 手動運(yùn)行 / 自動運(yùn)行 Playground, 當(dāng)我們鼠標(biāo)靠近 ? / ?圖標(biāo)時(shí), 會出現(xiàn)一個(gè)小三角, 鼠標(biāo)左鍵長按, 就會出現(xiàn)選擇框進(jìn)行選擇.


image.png

Playground 的右邊欄 - 可視化區(qū)

這里的右邊欄是我們將視圖拆成兩個(gè)形成的.


image.png

選中要運(yùn)行的 Page, 點(diǎn)擊運(yùn)行 ?, 在右邊就能看到可視化界面. 注意: 如果你運(yùn)行代碼, 沒看到對應(yīng)的界面, 你得查看顯示的視圖是不是 Live View.


image.png

Playground 基本講完了, 我在使用的過程中, 遇到 Xcode 多次崩潰, 或者在自己建的子文件里代碼沒有提示, 目前Playground 還是需要優(yōu)化.

Playground 問題集錦

  1. 如果你新建一個(gè)類, 在主package 無法調(diào)用的話, 報(bào)如下錯(cuò)誤
由于“內(nèi)部”保護(hù)級別,初始化程序無法訪問
initializer is inaccessible due to 'internal' protection level

解決方法:
如果你沒有自定義初始化方法, 那么你需要在出錯(cuò)類中加入以下代碼, 將初始化方法暴露出來

public init() {}

參考:
Swift Playground精講
swift-summary 官方Swift語言教材的Playground總結(jié)版本。
Awesome-Swift-Playgrounds 優(yōu)秀的Playground列表

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地?cái)?shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,231評論 3 119
  • 不當(dāng)家不知柴米油鹽貴,不養(yǎng)兒不知父母艱。 經(jīng)年之后你是否會記得 你尿到滿炕都是,讓你奶奶和你無處棲身 情急之下,你...
    燈下獨(dú)我閱讀 397評論 0 0
  • 站成山的模樣 誰都想在山的臂膀 活出水的瀲滟 百轉(zhuǎn)千回一腔柔腸 在山的包容 慈祥里歡暢 蒹葭蒼蒼 白露為霜 看過了...
    lsjr陳浮閱讀 539評論 13 12
  • 舊時(shí)衣,今時(shí)意, 衣不如舊,人不如新。 明月去多時(shí),星辰獨(dú)閃爍。 莫道清輝少,離人珠淚多。 俗事紛紛擾擾,一肩難擔(dān)...
    刀筆伐心閱讀 405評論 4 6
  • 在時(shí)尚界,展現(xiàn)了很多的平胸模特,其實(shí)不能說時(shí)尚偏愛平胸,主要看展示的時(shí)裝平臺,不同的時(shí)裝需要的風(fēng)格不一樣,所以展示...
    IN女王閱讀 843評論 0 0

友情鏈接更多精彩內(nèi)容