## Swift文檔注釋
Swift文檔注釋的使用Markdown的語法,具體可以參考這里 [LearnShare/Learning-Markdown](https://github.com/LearnShare/Learning-Markdown/blob/master/README.md)
### 文檔注釋語法
Swif中文檔注釋分為多行注釋和單行注釋。
* 多行注釋的語法是:
```
/**
這里是文檔注釋的內容區域
*/
```
也就是普通的多行注釋多一個`*`號
* 單行文檔注釋的語法是:
```
///
```
也就是普通的單行注釋多一個 `/`
### 文檔注釋的查看
按住鍵盤`Option`鍵,鼠標左擊目標變量、常量、類名、方法名、屬性值等就可以查看。
### 基本注釋
```
/**
這里是文檔注釋的內容區域0
這是文檔注釋區域1
- 無序列表0
- 無序列表1
- 無序列表2
1. 有序列表0
2. 有序列表1
3. 有序列表2
\```
let a = "Hello"
let b = "Swift"
\```
*/
class SomeClass {
}
/// # Headline 標題1
/// ## Headline 標題2
/// ### Heading 標題3
/// #### Heading 標題4
/// ##### Heading 標題5
/// ###### Heading 標題5
/// Hello,Swift 下面的一行效果是分行
///
/// Hello,IOS App
///
/// 斜體:*this* and _this_.
///
/// 粗體:**Strong font**
///
/// 超鏈接: [Swift.org](https://swift.org)
///
/// 圖片引入: 
///
///
func funcName() -> String {
return ""
}
```
> 以上注釋都是放在Swift注釋中的Desription中。
### Parameters、Returns和Throws
在基礎的文檔注釋語法中,我們只是將注釋寫在了Description注釋里,但是當我們定義一個函數,它包括響應的參數、返回值等內容。
#### Parameters 參數
對于函數的參數,使用關鍵字`Parameters`,又會有兩種不同的書寫方式,它們分別如下:
```
/// - Parameters:
/// - item1: 參數1的注釋
/// - item2: 參數2的注釋
func funcName(item1: AnyObject?, item2: AnyObject?)-> String{
return ""
}
/// - Parameter item1: 參數1的注釋
/// - Parameter item2: 參數2的注釋
func funcName2(item1: AnyObject?, item2: AnyObject?)-> String{
return ""
}
```
#### Returns 返回值
函數返回值的說明,使用關鍵字`Returns`
```
/// - Parameter item1: 參數1的注釋
/// - Parameter item2: 參數2的注釋
/// - Returns: 返回值的說明
func funcName3(item1: AnyObject?, item2: AnyObject?)-> String{
return ""
}
```
#### Throws 異常
函數在使用的時候可能拋出的異常,使用關鍵字`Throws`
```
/// - Throws: `異常拋出`的內容
func funcName3(item1: AnyObject?, item2: AnyObject?)-> String{
retunr ""
}
```
### 算法注釋
這些內容是在Description中
* - Precondition: 前置條件
* - Postcondition: 后置條件
* - Requires: 需求條件
* - Invariant: 循環不變量
* - Complexity: 復雜度
* - Important: 重要提示
* - Warning: 警告信息
* - Attention: 同Warning
* - Note: 備注
* - Remark: 同Note
### 元信息注釋
這些內容還是在Description中的
* - Author: 作者
* - Authors: 團隊
* - Copyright: 版權
* - Date: 時間
* - Since: 起始適配版本
* - Version: 版本
### Mark
> 注意是兩個反斜杠
~~~
// MARK: - 說明
屬性
// MARK: - Methods
方法
~~~
### TODO
~~~
// TODO: 說明
~~~
### FIXME
這個一般用在方法內
~~~
// FIXME: 說明
~~~
- 學習筆記
- 基礎
- 基本類型之整型
- 基本類型之浮點型
- 基本類型之布爾類型以及簡單的 if 語句
- 基礎類型之元組
- 基本類型之其他
- 運算符
- 基礎運算符
- 比較運算符、邏輯運算符
- 三元運算符
- 范圍運算符for-in
- 邏輯控制
- 循環結構
- 選擇結構
- 字符串
- Character和Unicode
- String.index 和 range
- 可選型
- 容器類
- 數組初始化
- 數組基本操作
- 字典初始化
- 字典基本操作
- 集合初始化
- 集合基本操作
- 函數
- 閉包
- 枚舉
- 結構體
- 類
- 文檔注釋
- 屬性和方法
- 下標和運算符重載
- 拓展和泛型
- 協議
- 其他
- Swift 3.0 For 循環
- Swift 隨機數的生成
- IOS開發玩轉界面 UIKit
- UILable 文本顯示控件
- UIButton 簡單的交互控件
- UIImageView 圖片控件
- UISearchBar 搜索控件