Swift ドキュメントコメント

200 Views

November 05, 15

スライド概要

2015-11-05 に開催された『iOS 9 週連続 Bootcamp!』の第6回目で Xcode 7 の新機能について紹介 (http://www.slideshare.net/tomohirokumagai54/xcode-7-cmios9) してきた中で、時間の都合でカットしたドキュメントコメントの内容です。

※ Docswell での公開に移行する直前の Slideshare での閲覧数は 5,325 でした。

profile-image

正統派趣味人プログラマー。プログラミングとは幼馴染です。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Xcode 7 & Swift 2 ドキュメントコメント 2015.11.02 EZ-NET 熊⾕友宏 http://ez-net.jp/

2.

熊谷友宏 EZ-NET http://ez-net.jp/ @es̲kumagai iOS, OS X, Apple Watch アプリ CodePiece いつもの電卓 ソースコードを Twitter と Gist に同時投稿できる。 計算式も見える電卓アプリ。 watchOS 1 対応 音で再配達ゴッド EZ-NET IP Phone 簡単操作で 再配達の申し込み。 iPhone でひかり電話を使う。 自宅 LAN からの利用専用

3.

熊谷友宏 EZ-NET http://ez-net.jp/ @es̲kumagai 勉強会 横浜 iPhone 開発者勉強会 #yidev 【 横浜・馬車道 】 カジュアル Swift 勉強会 #cswift 【 横浜・青葉台 】 わいわい・ゆるく、iPhone 開発者の みんなで楽しく過ごすのが目的の会 ゆるくみんなで Swift を語らえる場を 作りたくて始めた会 第21回を 2015-12-12 に開催 第3回を 2015-11-14 に開催

4.

熊谷友宏 EZ-NET http://ez-net.jp/ @es̲kumagai 書籍 / 登壇 Xcode 5 徹底解説 MOSA Xcode 5 の全機能を 徹底的に解説した本 OSX/iOS 系の歴史深い 有料会員制の勉強会 Xcode 7 でも役立つはず 法人会員も多数 紙版は絶版、電子書籍は販売中 秀和システム 10x-Eng.com で取扱予定 2015-11-07 の MSM2015 で Swift 2 を始めたい人向けの話で登壇

5.

著書 Xcode 5 徹底解説 > 全機能を徹底解説 ✔ ✔ ✔ ✔ ✔ 各画面の使い方 プロジェクトやコードの編集 インターフェイスビルダー ビルドとデバッグ ユニットテストと Bot > 紙版は絶版 (2015/08/21) 750 ページ 2014/04/28 - 2015/08/21 > 電子書籍版は販売中 ✔ 10x-Eng.com でも取扱予定

6.

MSM 2015 Swift 2 の話をする予定 > MSM 2015 ✔ ✔ ✔ ✔ 2015/11/06 - 2015/11/07 http://www.mosa.gr.jp/ NPO 法人 MOSA 主催 有料イベント(会員制) 年に一度の2日間に渡る お祭り的なイベント Apple 最新技術の話題満載 > NPO 法人 MOSA ✔ ✔ 10 年以上の活動実績 法人会員での参加も多い印象

7.

Xcode 7 ̶ 2015.09.16 ̶

8.

Xcode 7 新機能 ▶ Swift 2 ▶ コンテナービュー ▶ 新 OS サポート ▶ スタックビュー ▶ UI テスト ▶ ストーリーボード参照 ▶ コードカバレッジ ▶ オンデマンドリソース ▶ ドキュメントコメント ▶ 呼出階層検索ナビゲーター ▶ インターフェイス定義の確認 ▶ 無料のオンデバイス開発

9.

ドキュメントコメント

10.

ドキュメントコメント 機能 ▶ 型や機能に説明を記載できる ▶ コード補完時に概要を見られる ▶ クイックヘルプで詳細を見られる

11.

強化されたドキュメントコメント 機能 ▶ Markdown のような書式 • テキストの装飾 • 画像の挿入 • リンクの挿入 ▶ プレイグラウンド専用機能 • ページナビゲーション • リッチコメント描画 ▶ Swift 専用

12.

強化されたドキュメントコメント 利用できる場面 1. シンボルの文書化 ▶ 型や機能にドキュメントを添える ▶ クイックヘルプやコード補完で見れる ▶ ソースコードとプレイグラウンドで使える 2. リッチコメント ▶ 見栄えの良いコメントが書ける ▶ プレイグラウンドをドキュメントとして見せる ▶ プレイグラウンド専用

13.

1. シンボルの文書化

14.

シンボルの文書化 特徴 ▶ 型や機能にドキュメントを添える ▶ 専用の書式で意味付けできる ▶ ソースコードとプレイグラウンドの 両方で使用できる ▶ クイックヘルプやコード補完で見れる

15.

シンボルの文書化 書き方 ▶ コメント行内でマークアップする ▶ コメント行は次の2通りで書く (a) (b) /// でコメント行を書く(複数行可) /** 〜 */ でコメントブロックを書く

16.

シンボルの文書化 記載 /// 指定したターゲットをビルドします。 /// 設定を追加することで異なるオプションでビルドできます。 /// /// - precondition: /// ビルド対象のプロジェクトが開かれている必要があります。 /// /// - parameters: /// - target: ビルドするターゲットです。 /// - configuration: ビルドで使う設定です。 /// /// - returns: ビルドの実行結果を返します。 /// - throws: エラー時は BuildError が投げられます。 func build(target:Target, config:Config) throws -> Report {

17.

シンボルの文書化 表示 ▶ コード補完 ▶ クイックヘルプ

18.

2. リッチコメント

19.

リッチコメント 特徴 ▶ プレイグラウンドだけで使える ▶ 見栄えの良いコメントが書ける ▶ プレイグラウンドファイルを まるごとドキュメントとして見せる

20.

リッチコメント 書き方 ▶ コメント行内でマークアップする ▶ コメント行は次の2通りで書く (A) (B) //: でコメント行を書く(複数行可) /*: 〜 */ でコメントブロックを書く

21.

リッチコメント 記載 //: ## ̀reducè メソッド //: 配列の **総和** を簡単に計算できます。 //: ### 準備 let values = [1, 3, 8, 20] //: ### 実行 let sum = values.reduce(0, combine: +)

22.

リッチコメント 表示

23.

リッチコメント 表示の切り替え ▶ ファイルインスペクターで切り替える オン・オフで 切り替わる

24.

リッチコメント 留意点 ▶ リッチコメント表示中でも • 実行コードを編集できる ▶ リッチコメント表示中は • リッチコメントを編集できない • 通常のコメントは編集できる

25.

マークアップ

26.

マークアップ 基本 ▶ シンボルの文書化やリッチコメントの 内容に付加情報を添える ▶ コマンドを使ってマークアップする ▶ コマンドはインデントレベルが大事 • インデントによって解釈が変わる • コメントブロックの最初が第一レベル ▶ Markdown みたいな書式

27.

マークアップ コマンドの種類 1. 行書式コマンド 2. テキスト書式コマンド シンボル文書化 専用 3. シンボル文書化コマンド 4. ページナビゲーションコマンド リッチコメント 専用

28.

1. 行書式コマンド シンボル文書化 リッチコメント

29.

行書式コマンド 特徴 ▶ 行単位で書式を指定する 基本書式 行書式コマンド 行テキスト 空白必須 シンボル文書化 リッチコメント

30.

行書式コマンド 種類 ▶ 見出し ▶ ブロック引用 ▶ 箇条書き ▶ 番号付き箇条書き ▶ コードブロック ▶ 水平線 ▶ リンク参照

31.

行書式コマンド 見出し シンボル文書化 リッチコメント

32.

行書式コマンド 見出し ▶ 行を見出しとして扱う ▶ 先頭の # の数でレベルを指定(3レベルまで) 記載方法 空白必須 # 最初の見出しです。 ## 次の見出しです。 記号の数で レベル指定 シンボル文書化 リッチコメント

33.

行書式コマンド 見出し 記載例 //: 見出しを表示します。 //: # 最初の見出しです。 //: ## 次の見出しです。 //: 以上 表示例(リッチコメント) シンボル文書化 リッチコメント

34.

行書式コマンド 見出し(別の書き方) 見出しを次行の下線で表現する ▶ = = = で表現する • レベル1は • レベル2は --- で表現する 記載方法 ↩ 最初は空行 見出しです。 ====== 2行目で 下線を表現 シンボル文書化 リッチコメント

35.

行書式コマンド 見出し 記載例 //: 見出しを表示します。 //: //: 見出しです。 //: =========== //: 以上 表示例(リッチコメント) シンボル文書化 リッチコメント

36.

行書式コマンド ブロック引用 シンボル文書化 リッチコメント

37.

行書式コマンド ブロック引用 ▶ 内容を引用として扱う ▶ 連続で書くと1つとして扱われる 記載方法 > 引用してきたテキストを記載します。 > 複数行に分けて続きを記載できます。 ↩ 空白必須 最後は空行 シンボル文書化 リッチコメント

38.

行書式コマンド ブロック引用 記載例 //: 次のような説明が記載されています。 //: //: > 引用してきたテキストを記載します。 //: > 複数行に分けて続きを記載できます。 //: //: 以上 表示例(リッチコメント) シンボル文書化 リッチコメント

39.

行書式コマンド 箇条書き シンボル文書化 リッチコメント

40.

行書式コマンド 箇条書き ▶ 先頭は *, +, - のどれかで揃える ▶ 同レベルの項目は同じインデントで書く 記載方法 インデント を揃える * 最初の項目 * ふたつ目の項目 空白必須 ↩ 最後は空行 * ふたつ目にぶら下げた項目 レベルを 変えられる シンボル文書化 リッチコメント

41.

行書式コマンド 箇条書き 記載例 //: 項目を箇条書きします。 //: * 最初の項目 //: * ふたつ目の項目 //: * ふたつ目にぶら下げた項目 //: //: 以上 表示例(リッチコメント) シンボル文書化 リッチコメント

42.

行書式コマンド 番号付き箇条書き シンボル文書化 リッチコメント

43.

行書式コマンド 番号付き箇条書き ▶ 先頭を 番号 と .で始める ▶ どんな番号でも連番に振り直される 記載方法 インデント を揃える 1 . 最初の項目 1 . ふたつ目の項目 1 ↩ 最後は空行 . レベルを 変えられる ぶら下げた項目 シンボル文書化 リッチコメント

44.

行書式コマンド 番号付き箇条書き 記載例 //: 項目を箇条書きします。 //: 1. 最初の項目 //: 1. ふたつ目の項目 //: 1. ふたつ目にぶら下げた項目 //: //: 以上 表示例(リッチコメント) シンボル文書化 リッチコメント

45.

行書式コマンド 番号付き箇条書き 採番のされ方が異なる //: 3. 最初の項目 //: 3. ふたつ目の項目 表示例 シンボル文書化は1番から リッチコメントは指定番号から シンボル文書化 リッチコメント

46.

行書式コマンド コードブロック シンボル文書化 リッチコメント

47.

行書式コマンド コードブロック ▶ 内容をプログラムコードとして扱う ▶ インデントして内容を記載する 記載方法 ↩ 最初は空行 let 数値列 = [1, 3, 5, 7] let 総和 = 数値列.reduce(0, combine: +) ↩ インデント 必須 最後は空行 シンボル文書化 リッチコメント

48.

行書式コマンド コードブロック(別の書き方) ▶ 上下を ̀̀̀ で括って書ける ▶ シンボル文書化だけで使える 記載方法 ̀̀̀ インデント 不要 let 数値列 = [1, 3, 5, 7] let 総和 = 数値列.reduce(0, combine: +) ̀̀̀ 空行不要 シンボル文書化 リッチコメント

49.

行書式コマンド コードブロック 記載例 //: サンプルコードです。 //: //: let 数値列 = [1, 3, 5, 7] //: let 総和 = 数値列.reduce(0, combine: +) //: //: 以上 表示例(リッチコメント) シンボル文書化 リッチコメント

50.

行書式コマンド 水平線 シンボル文書化 リッチコメント

51.

行書式コマンド 水平線 ▶ 行を水平線にする ▶ 3文字以上のハイフンで表現する 記載方法 ↩ 最初は空行 −−− ↩ 3文字以上 最後は空行 シンボル文書化 リッチコメント

52.

行書式コマンド 水平線 記載例 //: 水平線で分断します。 //: //: - - //: //: 以上 表示例(リッチコメント) シンボル文書化 リッチコメント

53.

行書式コマンド リンク参照 シンボル文書化 リッチコメント

54.

行書式コマンド リンク参照 ▶ リンク付きテキストを定義する ▶ 定義後に本文内でテキストを使う 記載方法 必要に 応じて 最初は改行 ↩ [ テキスト ] 定義したテキスト URL " [ テキスト ホバーテキスト ] シンボル文書化 " を使う リッチコメント

55.

行書式コマンド リンク参照 記載例 //: テキストにリンクを定義して使います。 //: //: [EZ-NET]: http://ez-net.jp "EZ-NET" //: 定義したテキスト [EZ-NET] を使います。 //: 以上 表示例(リッチコメント) シンボル文書化 リッチコメント

56.

2. テキスト書式コマンド シンボル文書化 リッチコメント

57.

テキスト書式コマンド 特徴 ▶ 文字列単位で書式を指定する 基本書式 テキスト コマンド テキスト コマンド シンボル文書化 テキスト リッチコメント

58.

テキスト書式コマンド 種類 ▶ 強調表記 ▶ コード表記 ▶ 画像表記 ▶ リンク参照 ▶ 記号のエスケープ

59.

テキスト書式コマンド 強調表記 シンボル文書化 リッチコメント

60.

テキスト書式コマンド 強調表記 : 斜体 ▶ テキストを強調して表示する ▶ 両側を * または _ で括る 記載方法 Swift には * 二種類の変数 * があります。 目的の語句 を囲う シンボル文書化 リッチコメント

61.

テキスト書式コマンド 強調表記 : 斜体 記載例 //: テキストの一部を強調して表現します。 //: //: Swift には *二種類の変数* があります。 表示例(リッチコメント) シンボル文書化 リッチコメント

62.

テキスト書式コマンド 強調表記 : 太字 ▶ テキストを強調して表示する ▶ 両側を ** または __ で括る 記載方法 Swift はデータを ** 構造体 ** で表現します。 シンボル文書化 リッチコメント

63.

テキスト書式コマンド 強調表記 : 太字 記載例 //: テキストの一部を強調して表現します。 //: //: Swift ではデータを **構造体** で表現します。 表示例(リッチコメント) シンボル文書化 リッチコメント

64.

テキスト書式コマンド 強調表記 : 太字と斜体 ▶ テキストを強調して表示する ▶ 両側を *** または ___ で括る 記載方法 構造体は *** 変数で振る舞いが変化 シンボル文書化 *** します。 リッチコメント

65.

テキスト書式コマンド 強調表記 : 太字と斜体 記載例 //: テキストの一部を強調して表現します。 //: //: 構造体は ***変数で振る舞いが変化*** します。 表示例(リッチコメント) シンボル文書化 リッチコメント

66.

テキスト書式コマンド コード表記 シンボル文書化 リッチコメント

67.

テキスト書式コマンド コード表記 ▶ テキストがコードであることを表現する ▶ 両側を ` で括る 記載方法 Swift では原則 ̀ let ̀ で変数を扱います。 シンボル文書化 リッチコメント

68.

テキスト書式コマンド コード表記 記載例 //: テキストの一部をコードとして表現します。 //: //: Swift では原則 ̀let̀ で変数を扱います。 表示例(リッチコメント) シンボル文書化 リッチコメント

69.

テキスト書式コマンド 画像表記 シンボル文書化 リッチコメント

70.

テキスト書式コマンド 画像表記 ▶ テキストに画像を挿入する ▶ 場面によって表現が変わる様子 • リッチコメントでは ブロック要素 • シンボル文書化では インライン要素 必要に 応じて 構文 ! [ 交代テキスト ] ( 画像パス " ポップアップ シンボル文書化 " ) リッチコメント

71.

テキスト書式コマンド 画像表記 記載例 //: コメント内に画像を挿入します。 //: //: ![Note](https://ez-net.jp/note.png) Swift は //: 目まぐるしく進化します。 表示例 シンボル文書化はインライン リッチコメントはブロック扱い シンボル文書化 リッチコメント

72.

テキスト書式コマンド 画像サイズを変えたい時 ▶ HTML タグで画像を挿入する ▶ シンボルの文書化だけで使える様子 ▶ 正式な方法かは不明 シンボル文書化 リッチコメント

73.

テキスト書式コマンド 画像サイズを変えたい時 記載例 /// コメント内に画像を挿入します。 /// /// <img src="https://ez-net.jp/note.png" style="width: 14px”/> Swift は /// 目まぐるしく進化します。 表示例(シンボル文書化) シンボル文書化 リッチコメント

74.

テキスト書式コマンド 画像のカレントパス シンボルの文書化 リッチコメント シンボル文書化 リッチコメント

75.

テキスト書式コマンド リンク参照 シンボル文書化 リッチコメント

76.

テキスト書式コマンド リンク参照 ▶ URL リンク付きのテキストを表現する ▶ テキスト内で自由に使える 記載方法 テキスト [ テキスト ] ( URL シンボル文書化 ) テキスト リッチコメント

77.

テキスト書式コマンド リンク参照 記載例 //: テキスト書式コマンドなら //: 事前定義なく [リンク](http://ez-net.jp) を使えます。 表示例(リッチコメント) シンボル文書化 リッチコメント

78.

テキスト書式コマンド 記号のエスケープ シンボル文書化 リッチコメント

79.

テキスト書式コマンド 記号のエスケープ ▶ 特別な記号をそのまま表示できる 記載方法 テキスト \ 記号 テキスト シンボル文書化 リッチコメント

80.

テキスト書式コマンド 記号のエスケープ 記載例 //: 次のように書くとリンクを挿入できます。 //: //: \[タイトル](https://ez-net.jp) 表示例(リッチコメント) シンボル文書化 リッチコメント

81.

3. シンボル文書化コマンド シンボル文書化 リッチコメント

82.

シンボル文書化コマンド 特徴 ▶ シンボルの説明に意味を添える ▶ 4つのセクションで構成される ▶ ハイフン記号で書き始める 書式 - コマンド : コンテンツ コンテンツの続きを次行に記載できる ↩ 最後は改行か 別のコマンド 必要に 応じて シンボル文書化 リッチコメント

83.

シンボル文書化コマンド 4つのセクション 1. Description セクション 2. Parameters セクション 3. Returns セクション 4. Throws セクション シンボル文書化 リッチコメント

84.

セクション Description シンボル文書化 リッチコメント

85.

シンボル文書化コマンド Description セクション ▶ シンボルの説明を扱う ▶ コマンドを明記しないテキストが所属する ▶ 複数の Description フィールドを持てる 基本書式 コンテンツ コマンドを含めず テキストを記載 シンボル文書化 リッチコメント

86.

シンボル文書化コマンド Description セクション 記載例 /// 現在のターゲットを取得します。 var currentTarget:Target 表示例 シンボル文書化 リッチコメント

87.

シンボル文書化コマンド Description フィールド ▶ Description セクションに情報を添える ▶ いくつでも追加できる 基本書式 - フィールド名 : 説明文 説明文の続きを次行に記載できる ↩ 最後は改行か 次のコマンド 必要に 応じて シンボル文書化 リッチコメント

88.

シンボル文書化コマンド Description フィールド 記載例 /// ストリームの末端まで読み進められているか調べます。 /// - precondition: ストリームが開かれている必要があります。 /// - note: 文字列ストリームでは NUL を末端とみなします。 func isEOF(stream:Stream) -> String { 表示例 シンボル文書化 リッチコメント

89.

シンボル文書化コマンド Description で使えるフィールド名 (1/4) - attention : 注目して欲しい情報を記載 - author : 著作者名 - bug : バグに関する情報を記載 - Complexity : アルゴリズム的な複雑さを記載 - copyright : 著作権に関する情報を記載 - date : 何らかの日付情報を記載 - experiment : 試験的な機能であることを記載 シンボル文書化 リッチコメント

90.

シンボル文書化コマンド Description で使えるフィールド名 (2/4) - important : 使用上の重要情報を記載 - invariant : 実行中に変化しないものを明記 - note : 補足情報を記載 - precondition : 実行に必要な値の前提条件を記載 - postcondition : 実行直後の値の変化を記載 - remark : シンボルの解説を記載 シンボル文書化 リッチコメント

91.

シンボル文書化コマンド Description で使えるフィールド名 (3/4) - requires : 実行に必要な環境情報を記載 - seealso : 別の参考資料を記載 - since : いつから使えるようになったかを記載 - todo : 実行完了に必要な追加タスクを記載 - version : シンボルのバージョン情報を記載 - warning : 使用上の注意事項を記載 シンボル文書化 リッチコメント

92.

シンボル文書化コマンド Description で使えるフィールド名 (4/4) ▶ 複数人数の著作者情報を記載 基本書式 authors - : 著作者名 ↩ 改行で 次の人 著作者名 ↩ 最後は改行 シンボル文書化 リッチコメント

93.

セクション Parameters シンボル文書化 リッチコメント

94.

シンボル文書化コマンド Parameters セクション ▶ シンボルの引数を扱う ▶ 複数のフィールドを持てる 基本書式 - parameter 引数名 : 説明文 説明文の続きを次行に記載できる ↩ 最後は改行か 次のコマンド 必要に 応じて シンボル文書化 リッチコメント

95.

シンボル文書化コマンド Parameters セクション 記載例 /// ストリームに値を書き込みます。 /// - parameter value: 書き込む値です。 /// - parameter stream: 書き込み先のストリームです。 func write(value:String, stream:Stream) { 表示例 シンボル文書化 リッチコメント

96.

シンボル文書化コマンド Parameters の一括定義 ▶ 複数の引数情報を記載 基本書式 - ↩ parameters : - 引数名 : 説明文 - 引数名 : 説明文 インデント 必須 最後は改行か 次のコマンド シンボル文書化 リッチコメント

97.

シンボル文書化コマンド Parameters の一括定義 記載例 /// ストリームに値を書き込みます。 /// - parameters: /// - value: 書き込む値です。 /// - stream: 書き込み先のストリームです。 func write(value:String, stream:Stream) { 表示例 シンボル文書化 リッチコメント

98.

セクション Returns シンボル文書化 リッチコメント

99.

シンボル文書化コマンド Returns セクション ▶ シンボルの戻り値を扱う ▶ ひとつだけ指定できる 基本書式 - returns : 説明文 説明文の続きを次行に記載できる ↩ 最後は改行か 次のコマンド 必要に 応じて シンボル文書化 リッチコメント

100.

シンボル文書化コマンド Returns セクション 記載例 /// ストリームから値を読み込みます。 /// - returns: 読み取った文字列を返します。 func read(stream:Stream) -> String { 表示例 シンボル文書化 リッチコメント

101.

セクション Throws シンボル文書化 リッチコメント

102.

シンボル文書化コマンド Throws セクション ▶ エラーに関する情報を扱う ▶ ひとつだけ指定できる 基本書式 - throws : 説明文 説明文の続きを次行に記載できる ↩ 最後は改行か 次のコマンド 必要に 応じて シンボル文書化 リッチコメント

103.

シンボル文書化コマンド Throws セクション 記載例 /// ストリームに値を書き込みます。 /// - throws: ストリームが開かれてないと /// Stream.NotOpenError が発生ます。 func write(value:String, stream:Stream) throws { 表示例 シンボル文書化 リッチコメント

104.

4. ページナビゲーションコマンド シンボル文書化 リッチコメント

105.

ページナビゲーションコマンド 特徴 ▶ ページ移動するための機能 • 指定ページに移動する • 前後のページに移動する ▶ リッチコメントだけで使える シンボル文書化 リッチコメント

106.

ページナビゲーションコマンド 指定ページに移動 ▶ 指定したページ名へのリンクを作れる ▶ ページ名の空白文字は %20 に置き換える 記載方法 [ 表題 ] ( 移動先ページ名 シンボル文書化 ) リッチコメント

107.

ページナビゲーションコマンド 次のページに移動 ▶ 次のページへのリンクを作れる ▶ 順番はプロジェクトナビゲーターで指定する 記載方法 [ 表題 ] ( @next ) シンボル文書化 リッチコメント

108.

ページナビゲーションコマンド 前のページに移動 ▶ 前のページへのリンクを作れる ▶ 順番はプロジェクトナビゲーターで指定する 記載方法 [ 表題 ] ( @previous ) シンボル文書化 リッチコメント

109.

ページ シンボル文書化 リッチコメント

110.

ページナビゲーションコマンド Playground ページ ▶ プレイグラウンド内に 複数のページを追加できる機能 ▶ プロジェクトナビゲーターで管理する シンボル文書化 リッチコメント

111.

ページナビゲーションコマンド Playground ページのリソース ▶ 各ページがリソースを持てる ▶ Playground ファイル直下のリソースは すべてのページで利用できる様子 このページ 専用 全ページで 使える シンボル文書化 リッチコメント

112.

ページ作成 シンボル文書化 リッチコメント

113.

Playground ページ ページの新規作成 ▶ プロジェクトナビゲーターから作成 ⌥ + Click 新規作成 シンボル文書化 リッチコメント

114.

Playground ページ ページの順番 ▶ プロジェクトナビゲーターで 登録されている順番で管理される ページは この順番 シンボル文書化 リッチコメント

115.

ページ移動 シンボル文書化 リッチコメント

116.

ページ移動 指定ページに移動 記載例 //: 目次 //: //: [セクション A](Section%20A) //: //: [セクション B](Section%20B) 表示例 シンボル文書化 リッチコメント

117.

ページ移動 指定ページに移動 記載例 //: [前のページ](@previous) //: //: [次のページ](@next) 表示例 シンボル文書化 リッチコメント

118.

まとめ

119.

ドキュメントコメント まとめ ▶ シンボルに説明を記載できる • セクションで詳しく意味づけできる • コード補完やクイックヘルプで見れる • テキストを装飾できる ▶ Playground コメントの可能性が広がる • テキストを装飾できる • ページ移動のリンクが貼れる

120.

Xcode 7 + Swift 2 ドキュメントコメント ▶ コメントの書き方 ▶ 強化されたドキュメントコメント ▶ シンボルの文書化 ▶ リッチコメント ▶ マークアップ ▶ 行書式コマンド ▶ テキスト書式コマンド ▶ シンボル文書化コマンド ▶ ページナビゲーションコマンド

121.

おまけ ドキュメントコメント

122.

もしかして HTML タグが使える?

123.

ドキュメントコメント HTML タグを混ぜられる? 説明の中で HTML を使うと

124.

ドキュメントコメント HTML タグを混ぜられる? クイックヘルプ に反映される

125.

ドキュメントコメント スタイルシートも混ぜられる? スタイルを 説明に添えると

126.

ドキュメントコメント スタイルシートも混ぜられる? クイックヘルプ に反映される

127.

ドキュメントコメント スタイル指定はお勧めできない? ▶ コメント毎にスタイルが必要 ▶ コメントの度に本格的なスタイルを 記載するのは非現実的 ▶ 見た目の統一性がなくなる ▶ そもそも正式に使える機能か判らない

128.

もしかして JavaScript が使える?

129.

ドキュメントコメント JavaScript を混ぜられる? 説明の中で script を使うと クイックヘルプ で実行される

130.

ドキュメントコメント JavaScript を混ぜられる? ▶ ただしコード補完では スクリプトがそのまま表示される コード補完だと バレバレ

131.

ドキュメントコメント JavaScript 埋め込みはお勧めできない? ▶ 正式に使える機能か判らない ▶ コード補完でコードがそのまま表示される ▶ そもそもそこまで必要なのか?

132.

おすすめ ドキュメントコメント

133.

ドキュメントコメント 絵文字を活用する 説明の中で 絵文字を使うと

134.

ドキュメントコメント 絵文字を活用する コード補完で 表示される

135.

ドキュメントコメント 絵文字を活用する クイックヘルプで 表示される

136.

ドキュメントコメント 絵文字で検索できる! 絵文字を 使って … 検索できる!

137.

おしまい ☺