菜鸟教程小白 发表于 2022-12-12 12:30:05

ios - Objective-C 系统宏中的下划线命名约定


                                            <p><p>我对 Objective-C 宏中的命名约定很好奇。例如,以下代码是每个项目的预编译头文件(.pch 文件)中的标准代码</p>

<pre><code>#import &lt;Availability.h&gt;

#ifndef __IPHONE_5_0
#warning &#34;This project uses features only available in iOS SDK 5.0 and later.&#34;
#endif

#ifdef __OBJC__
    #import &lt;UIKit/UIKit.h&gt;
    #import &lt;Foundation/Foundation.h&gt;
#endif
</code></pre>

<p>为什么 __IPHONE_5_0 的前缀是 2 个下划线,而 __OBJC__ 的前缀和后缀都是 2 个下划线?带前缀的下划线通常表示程序员不应该接触的系统内容。但是后缀下划线呢?谢谢!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我做了一些研究,在 <a href="https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingIvarsAndTypes.html#//apple_ref/doc/uid/20001284-1003095" rel="noreferrer noopener nofollow">Apple&#39;s &#34;Coding Guidelines for Cocoa&#34;</a> 中找到了这个片段:</p>

<blockquote>
<p>Note that macros defined by the compiler have leading and trailing
double underscore characters. For example: <code>__MACH__</code></p>
</blockquote></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Objective-C 系统宏中的下划线命名约定,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26684548/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26684548/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Objective-C 系统宏中的下划线命名约定