用Markdown為Swift代碼加上注釋

一般我們寫程序時(shí)改执,都會(huì)為代碼加上一些注釋絮短,一個(gè)是為了給別人看囚玫,另一個(gè)原因就是如果項(xiàng)目越寫越大時(shí)喧锦,可能就忘了之前寫的函數(shù)或類是什么作用了,所以養(yǎng)成邊寫代碼編寫注釋甚至是實(shí)現(xiàn)功能前就加上注釋的習(xí)慣是很重要的抓督。
那么燃少,在Swift里是怎么為代碼加注釋,加了注釋又會(huì)有什么效果呢铃在。 大部分語(yǔ)言的單行注釋是兩個(gè)/阵具,多行注釋是/*號(hào)。Swift當(dāng)然也支持這種注釋定铜。


// 單行注釋
/*
 多行注釋
*/

普通單行注釋和多行注釋

但是在Swift里阳液,除了上面的兩種注釋外,還支持使用Markdown編寫注釋揣炕,但是如果要讓Markdown編寫的注釋可以在XCode的Quick Help里可以展示帘皿,則單行注釋需要使用三個(gè)/,多行注釋開頭需要使用/**畸陡,結(jié)尾*/鹰溜。否則虽填,注釋里寫的Markdown是不會(huì)被識(shí)別出來(lái)的,在Quick Help里也無(wú)法查看奉狈,

/// 單行注釋卤唉,支持*Markdown*
/**
    多行注釋
*/
支持Markdown的單行注釋(注意圖中的markdown已經(jīng)是斜體了)
支持Markdown的多行注釋

單詞分隔符

在注釋中還定義了一些特殊的文字分隔符作為注釋的標(biāo)記,比如下圖中可以給方法備注上作者仁期。需要注意的是桑驱,-前后需要空格, 另外Author:中的Author單詞對(duì)大小寫無(wú)嚴(yán)格規(guī)定跛蛋,但是一般按照大駝峰命名規(guī)則寫熬的。也就是單詞首字母大寫。

特殊插圖編號(hào)示例

支持的單詞分隔符有:(要獲取最新的可以看蘋果官方文檔):

Attention
Author
Authors
Bug
Complexity
Copyright
Date
Experiment
Important
Invariant
Note
Parameter
Parameters
Postcondition
Precondition
Remark
Returns
Requires
SeeAlso
Since
Throws
ToDo
Version
Warning

用法(-也可用+*代替)

/**
 - Attention: description 
 - Author: author name 
 - Authors: author name 
 - Bug: this is a bug, fix it.
 */
    /**
     Play a song.
     
     - parameter song: The song you want play.
     */
    func play(song songName: String) {
    
    }
參數(shù)效果(這里不管用外部參數(shù)名還是內(nèi)部參數(shù)名赊级,注釋中都會(huì)用內(nèi)部參數(shù)名做顯示)
    /**
     Send a message to someone.
     
     - parameter message: message want send.
     - parameter user: send message to user.
    */
    func send(msg message: String, to user: String) {
    
    }
多參數(shù)注釋寫法1

由多個(gè)參數(shù)時(shí)除了分行寫parameter外押框,還有下面這種寫法:

    /**
     Send a message to someone.
     
     - parameters:
        - message: message want send.
        - user: send message to user.
     */
    func send(msg message: String, to user: String) {
        
    }
    

需要注意的是,parameters 下面寫的參數(shù)需要往里縮進(jìn)一格(加一個(gè)tab或者兩個(gè)空格都可以)

多參數(shù)寫法二
    /**
     
     - parameters:
        - min: min number
        - max: max number
     - returns: 
        number between min and max
     */
    func returnsExample(min: Int, max: Int) -> Int{
        // TODO: - finish it
        return 0
    }
注釋中注明返回值意義

注釋中加入無(wú)序列表

    /**
     An example of using a *bulleted list*
     
     * item 1
     * item 2
        * item 2.1
     * item 3
     */
    func bulletedListExample() {
    
    }
無(wú)序列表

有序列表

    /**
     An example of using a *numbered list*
     
     1. Fruit
        1. Apple
        2. Banana
     2. Vegetable
        1. Cabbage
     */
    func numberedListExample() {
    
    }
有序列表

在注釋中加上示例代碼

方式1: 將示例代碼縮進(jìn)

    /**
     An example of using a *code block*
     
     A loop to print each character on a seperate line
     
         for s in str.characters {
            print(s)
         }
     
     */
    func codeBlockExample(_ str: String) {
        for s in str.characters {
            print(s)
        }
    }
注釋中加入示例代碼方式1

方式二:

注釋中加入示例代碼方式二

給注釋中的文字加粗或重點(diǎn)標(biāo)注

    /**
     
     Markup uses simple character-based delimiters to mark formatted text in *playgrounds* and in *Quick Help* for Swift symbols.
     
     
     Some of the delimiters are used for both rendered `playground` documentation and in `Quick Help`. Other delimiters are used with _either playgrounds or with Quick Help_. The documentation for each delimiter **includes** information __on where it can be used__.
     */
    func importantCharacters(){
    
    }
代碼中文字重點(diǎn)標(biāo)注

注釋中插入鏈接

    /**
     An example of using the seealso field
     
     - Note:
     [SeeAlso](https://developer.apple.com/library/content/documentation/Xcode/Reference/xcode_markup_formatting_ref/Links.html)
     */
    func linksExample() {
    
    }
注釋中插入超鏈接

總結(jié)

注釋算是項(xiàng)目中非常重要的內(nèi)容理逊,這里總結(jié)的只是我覺得在XCode中寫代碼會(huì)比較常用的注釋橡伞,其實(shí)官網(wǎng)還有一些強(qiáng)大的注釋是給Playground用的,這里就不總結(jié)了晋被,自己去看吧兑徘。在這次總結(jié)里面我從蘋果的文檔中嘗試失敗的有兩個(gè),一個(gè)是SeeAlso羡洛,另一個(gè)是在注釋里插入網(wǎng)絡(luò)圖片挂脑,大家可以嘗試一下,歡迎留言指正欲侮。另外崭闲,可以使用快捷鍵cmd+opt+/直接在方法或?qū)傩陨喜迦胱⑨專绻旖萱I沒用威蕉,可能是被當(dāng)前其他應(yīng)用給占據(jù)了刁俭,可以把快捷鍵在XCode中修改為其他自己熟悉的快捷鍵。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末韧涨,一起剝皮案震驚了整個(gè)濱河市薄翅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌氓奈,老刑警劉巖翘魄,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異舀奶,居然都是意外死亡暑竟,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)但荤,“玉大人罗岖,你說我怎么就攤上這事「乖辏” “怎么了桑包?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)纺非。 經(jīng)常有香客問我哑了,道長(zhǎng),這世上最難降的妖魔是什么烧颖? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任弱左,我火速辦了婚禮,結(jié)果婚禮上炕淮,老公的妹妹穿的比我還像新娘拆火。我一直安慰自己,他們只是感情好涂圆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布们镜。 她就那樣靜靜地躺著,像睡著了一般润歉。 火紅的嫁衣襯著肌膚如雪憎账。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天卡辰,我揣著相機(jī)與錄音,去河邊找鬼邪意。 笑死九妈,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的雾鬼。 我是一名探鬼主播萌朱,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼策菜!你這毒婦竟也來(lái)了晶疼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤又憨,失蹤者是張志新(化名)和其女友劉穎翠霍,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蠢莺,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡寒匙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了躏将。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锄弱。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡考蕾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出会宪,到底是詐尸還是另有隱情肖卧,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布掸鹅,位于F島的核電站塞帐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏河劝。R本人自食惡果不足惜壁榕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望赎瞎。 院中可真熱鬧牌里,春花似錦、人聲如沸务甥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)敞临。三九已至态辛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挺尿,已是汗流浹背奏黑。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留编矾,地道東北人熟史。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像窄俏,于是被迫代替她去往敵國(guó)和親蹂匹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)凹蜈、插件限寞、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,103評(píng)論 4 62
  • 偶然間履植,看到簡(jiǎn)書作者晏小魚寫雪小禪的文章: “雪小禪,一個(gè)野生的女子悄晃,腌制時(shí)間静尼,煮字療饑。好有趣的女子,喜歡樸素的...
    一世福緣閱讀 2,898評(píng)論 90 162
  • 今天其實(shí)是開店的第n天了鼠渺,老婆依舊是每天日常板著個(gè)臉鸭巴,對(duì)于店,她沒有過多的想法拦盹,只是想早點(diǎn)結(jié)束這一切鹃祖,回到原本的休...
    阿哇樂閱讀 252評(píng)論 0 0