Xcode代码注释快速查看

delims 于 2020-07-30 发布

我们在使用系统API的时候,只能看到头文件。我们打开头文件,比如NSString.h

找到方法stringWithFormat的定义。发现只是轻描淡写的一句

+ (instancetype)stringWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);

但是当我们敲出来 stringWithFormat ,按住command 鼠标点击这个方法的时候却发现有这么多注释

Summary

Returns a string created by using a given format string as a template into which the remaining argument values are substituted.
Declaration

+ (instancetype)stringWithFormat:(NSString *)format, ...;
Discussion

This method invokes initWithFormat:locale:arguments: without applying any localization. This is useful, for example, when working with fixed-format representations of information that is written out and read back in at a later time.
Important
When working with text that’s presented to the user, use the localizedStringWithFormat: method, or the initWithFormat:locale: or initWithFormat:locale:arguments: method, passing currentLocale as the locale.
Parameters

format	
A format string. See Formatting String Objects for examples of how to use this method, and String Format Specifiers for a list of format specifiers. This value must not be nil.
Important
Raises an NSInvalidArgumentException if format is nil.
...	
A comma-separated list of arguments to substitute into format.
Returns

A string created by using format as a template into which the remaining argument values are substituted without any localization.

这么多的注释来自哪里呢。

起初我也困惑过,后来我想了想,可能来自于m文件,但是m文件我们看不到。

前几天写了一个小工具,

功能是把swagger上面的接口说明自动集成到项目里面,并且加上该有的接口说明,功能很简单,我写了三四个小时。

为了看起来更整洁,我创建了2个文件。h文件保存简介的接口定义。列如

static NSString * const kApiGetSomeThing = @"/get/some/thing"; //过获取一些东西

同名m文件里保存复杂的注释,包括请求方式,参数说明 例如

/** 
@brief 查询所有报警类型
@code
请求路径: /get/some/thing
请求方法: get
参数说明:

param1    string  参数1
param2    string  参数2
@endcode
*/ 
extern NSString * const kApiGetSomeThing;

m文件主要起到一个快速查看注释的作用。 当我们打出kApiGetSomeThing并查看注释的时候,就有快速提示。 聪明的你不妨试试。

今天遇到一个问题。 发现快速提示竟然不好用了, 纠结了几分钟,后来想了一下。 可能是没有把接口.m文件加入到build phrase的compile resource里面

加入之后就正常了。

时间太紧了,就写这些吧 。

最近压力太大了。