DocC的簡單使用

DocC的簡單使用

在寫3GShare中,由于剛開始使用MVC模式來寫東西,對很多東西都不是很熟,經常寫著寫著就忘了自己在寫什么,所以學了一下DocC來加快開發進度

什么是DocC

簡單來說,DocC就是更高級的注釋,雖然DocC 是專門為 Swift 代碼寫文檔的工具,但是在OC中也是可以使用的,它可以將基于 Markdown 的文本轉換為豐富的 Swift 框架和包文檔

最重要的是,DocC 語法非常簡單卻很強大。不需要創建額外的文件或使用其他軟件,一切都可以直接在 Xcode 中完成。

基礎用法

最最簡單的用法,把平時用的雙斜杠注釋換成三斜杠

完成了!

@interface loginAndRegisterModel : NSObject
/// 存儲用戶數據
@property (nonatomic, strong) NSMutableArray* usersInfo;
@end

寫完這些注釋后,你就可以在Xcode中按住?Option?鍵然后點擊變量名,就能看到你寫的文檔了

CleanShot_2025-07-25_at_23.21.152x

當然方法也是同樣的道理

/// 為第一個cell的滑動照片墻提供照片數組
- (NSArray*) providesImages;

CleanShot_2025-07-25_at_23.24.342x

添加更詳細的說明

如果你想在解釋說明中添加更多實現的細節,可以在第一段描述后空一行,然后繼續寫。這些內容會顯示在幫助對話框的討論部分

/// 保存按下按鈕的狀態
///
/// 把按鈕的tag值存在對應節的數組中,方便之后查詢
- (void)saveBtnPress:(NSInteger)tag andIndexPath:(NSIndexPath*)indexPath;

CleanShot_2025-07-26_at_15.32.022x

進階用法:參數和返回值

描述參數

使用?- Parameters:?關鍵字可以描述函數的參數。注意破折號和冒號都是必需的,它們用作分隔符

但是在OC中似乎沒有辦法正常編譯進去,這里使用swift演示一下

extension Array {/// 根據月份的日期返回一個隨機元素,/// 該日期用于計算隨機索引。////// stableRandom 函數在整個日期內始終返回相同的元素。/// 但是一旦日期發生變化,它的值就會改變。////// - Parameters:///     - date: 用于隨機化算法的日期。func stableRandom(using date: Date = .now) throws -> Element {// 實現代碼...}
}

image

描述返回值和錯誤

返回值和錯誤在oc中可以正常描述,語法與參數一樣

/// 檢測注冊信息是否可用
///  - Returns:
///  0:注冊成功
///  1:郵箱有重復
///  2:用戶名有重復
///  - Throws: 返回nil
- (NSInteger) isValidRegister:(user*) users;

CleanShot_2025-07-26_at_16.04.222x

DocC 的實際應用場景

合作開發

在合作開發中,對每個方法做好DocC能大大提高開發效率,可以讓每個人方便的知道你的方法是干什么的,會返回什么結果,可能會出現什么樣的錯誤

自己回顧代碼

由于筆者剛開始使用MVC模式來寫項目,常常會在三個甚至六個不同的文件里來回穿梭,在學了DocC后,就方便了許多,回頭看自己寫的DocC 文檔可以讓我快速的回憶起方法的作用

寫在最后

當然,這里的介紹只是我覺得常用的部分,Apple在DocC方面有詳細的教程,DocC的作用也遠不止這些,感興趣的同學可以移步Apple Developer

https://developer.apple.com/cn/videos/play/wwdc2021/10166

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/90540.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/90540.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/90540.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深入理解C語言快速排序與自省排序(Introsort)

排序算法是計算機科學中最基礎也是最重要的知識之一。快速排序(Quicksort)因其平均時間復雜度為 O(n log n) 而廣受歡迎,但在最壞情況下會退化到 O(n)。為了克服這一缺點,自省排序(Introsort) 應運而生&…

C#編程基礎:運算符與結構詳解

目錄 一.關系運算符 常見關系運算符 二.邏輯運算符 常見邏輯運算符 1. 邏輯與(&& 或 and) 2. 邏輯或(|| 或 or) 3. 邏輯非(! 或 not) 運算符優先級 三.if語句 1.c#程序的三大結構 1.順序…

嵌入式學習-土堆目標檢測(3)-day27

再學一個labelme在labelstudio環境中再pip install labelme安裝好后直接輸入 labelme之后點擊保存,選擇保存文件地址還有一個就是將labelme的格式轉化為yolo格式還是在labelstudio這個環境里面安裝pip install labelme2yolo

Qt OpenGL 集成:開發 3D 圖形應用

Qt 提供了完善的 OpenGL 集成方案,使開發者能夠在 Qt 應用中高效開發 3D 圖形應用。通過 Qt 的 OpenGL 模塊,可簡化 OpenGL 上下文管理、窗口渲染和跨平臺適配,同時結合現代 OpenGL 特性(如著色器、頂點緩沖、紋理等)實…

【NLP輿情分析】基于python微博輿情分析可視化系統(flask+pandas+echarts) 視頻教程 - 熱詞評論查詢功能實現

大家好,我是java1234_小鋒老師,最近寫了一套【NLP輿情分析】基于python微博輿情分析可視化系統(flaskpandasecharts)視頻教程,持續更新中,計劃月底更新完,感謝支持。今天講解熱詞評論查詢功能實現 視頻在線地址&#…

使用 Google Earth 的 DEM — 教程。

數字高程模型 (DEM)描繪了已知高程點之間的表面高程。本教程將向您展示如何使用 Google Earth 的高程數據生成 DEM。在當今世界,DEM 主要用于 GIS 應用。 當然,我們可以從美國地質調查局 (USGS) 網站下載數字高程模型 (DEM)。但如果我們想知道某個地點的…

在 UniApp 中實現中間凸起 TabBar 的完整指南

如何在 UniApp 中設置中間 TabBar 凸起效果 在移動應用開發中,TabBar 是常見的導航組件,而中間凸起的 TabBar 按鈕則是一種流行的設計風格,常用于突出重要功能(如發布、拍照等)。UniApp 提供了 midButton 屬性&#xf…

微觀低代碼

今日去深圳的一家工廠給客戶做培訓,主要培訓內容為低代碼產品的二開和功能演示。客戶使用了20年的ERP和OA系統,目前想對接到低代碼平臺。客戶目前想實現的主要功能是,對接OA的單點登錄,把ERP的功能遷移到低代碼平臺上來工廠規模比…

Linux進程控制:掌握系統的核心脈絡

Linux進程控制:掌握系統的核心脈絡 在 Linux 系統中,進程控制是系統運行的核心機制之一。無論是日常的命令行操作,還是復雜的后臺服務運行,都離不開對進程的管理和控制。本文將深入探討 Linux 進程控制的相關知識,幫助…

4N90-ASEMI電機控制專用4N90

編輯:LL4N90-ASEMI電機控制專用4N90型號:4N90品牌:ASEMI封裝:ITO-220ABRDS(on):3.60Ω批號:最新引腳數量:3封裝尺寸:如圖特性:N溝道MOS管工作結溫:-55℃~150℃一、卓越性…

Java 筆記 lambda

?Lambda 基本語法 (parameters) -> expression 或 (parameters) -> { statements }// 無參數 Runnable r () -> System.out.println("Hello");// 單個參數&#xff08;小括號可省略&#xff09; Consumer<String> c s -> System.out.println(s…

安全風險監測平臺:被動應對向主動預防的轉變

一、智能識別預警系統安全風險監測平臺通過部署多維度感知網絡&#xff0c;實現對各類安全隱患的智能識別與實時預警。系統采用深度學習算法&#xff0c;對人員行為、設備狀態、環境參數等進行全天候監測分析&#xff0c;建立動態風險評估模型。當檢測到異常情況時&#xff0c;…

圖片查重從設計到實現(2)Milvus安裝準備etcd介紹、應用場景及Docker安裝配置

etcd作用、應用場景及Docker安裝配置 在分布式向量數據庫 Milvus 的架構中&#xff0c;etcd 扮演著至關重要的角色。Milvus 用于存儲和管理海量向量數據&#xff0c;支持高效的相似性搜索等操作&#xff0c;而其分布式集群的正常運行高度依賴元數據的一致性和可靠性&#xff0c…

零彈窗干擾的貪吃蛇游戲,下載即玩

軟件介紹 在尋找貪吃蛇游戲的過程中&#xff0c;我發現了一款PC端版本&#xff0c;無需登錄即可直接使用&#xff0c;完全符合我的需求。 使用優勢 這款軟件最大的亮點在于完全免費&#xff0c;沒有任何廣告和彈窗干擾&#xff0c;支持完全離線運行&#xff0c;讓用戶能夠專注…

excel2013VBA開發access mdb數據庫系統的一點經驗分享

最近&#xff0c;自己從網盤里重新下載了過去保存的vba開發資料&#xff0c;就順手研究起了如何能通過excel203結合access 2013 mdb數據庫系統開發個VBA小系統。過簡單一說說了&#xff01;接說干貨經驗分享吧&#xff0c;1、俺先在mdb數據庫中建了一個有自動編號字段的數據表&…

我們能否承擔微服務帶來的復雜性和運維成本?

坦率地說&#xff0c;并非所有團隊都應該&#xff0c;承擔微服務帶來的復雜性和運維成本。在做出決定前&#xff0c;我們必須進行自我評估。 以下是評估是否能承擔微服務成本需要考慮的關鍵方面&#xff1a; 一、 復雜性帶來的挑戰 (Complexity Challenges):分布式系統固有復雜…

HCIP--MGRE實驗

一、實驗拓撲二、配置思路1、建立拓撲&#xff0c;配置IP&#xff0c;配置缺省路由是公網通暢2、路由器R1-R5,R2-R5,R3-R5之間都是串線鏈接&#xff0c;由于華為路由器默認的串線協議為PPP&#xff0c;因此根據實驗要求&#xff0c;R1-R5,R2-R5之間直接進行單向認證&#xff0c…

數字孿生映射探索驅動的具身導航!MorphoNavi:面向對象映射的空地機器人導航

作者&#xff1a; Sausar Karaf, Mikhail Martynov, Oleg Sautenkov, Zhanibek Darush, Dzmitry Tsetserukou單位&#xff1a;俄羅斯斯科爾科沃科學技術研究院智能空間機器人實驗室論文標題&#xff1a;MorphoNavi: Aerial-Ground Robot Navigation with Object Oriented Mappi…

統計與大數據分析與數學金融課程解析

CDA數據分析師證書含金量高&#xff0c;適應了未來數字化經濟和AI發展趨勢&#xff0c;難度不高&#xff0c;行業認可度高&#xff0c;對于找工作很有幫助。一、課程體系對比矩陣維度統計與大數據分析數學金融交叉領域數學基礎概率論(90%)隨機過程(85%)線性代數(100%)核心工具P…

整蠱小程序:關機程序(C語言)

整蠱小程序&#xff1a;關機程序&#xff08;C語言) 跟著潼心走&#xff0c;輕松拿捏C語言&#xff0c;困惑通通走&#xff0c;一去不回頭~歡迎開始今天的學習內容&#xff0c;你的支持就是博主最大的動力。 目錄 整蠱小程序&#xff1a;關機程序&#xff08;C語言) 程序內容…