objective-c - 苹果私有(private)头文件中给出Underscore的原因是什么

标签 objective-c foundation

我见过很多苹果的.h(私有(private)API)。大多数变量/结构/枚举/类都有 _ 作为前缀。

#import <Foundation/NSValue.h>
#import <Foundation/NSObjCRuntime.h>

@class NSString;

typedef struct _NSRange {
    NSUInteger location;
    NSUInteger length;
} NSRange;

我的问题是,

用正确的下划线再次输入下划线的原因是什么?

最佳答案

Objective-C 有一个全局开放的名字空间。所有名称都必须是唯一的,这一点很重要。除了前面给出的原因外,Apple 为自己保留了所有带下划线的名称。这将有助于防止意外的名称冲突。

关于objective-c - 苹果私有(private)头文件中给出Underscore的原因是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1829755/

相关文章:

c++ - 包含 Cocoa header 时出错

objective-c - 在 NSMutableArray 的特定索引处添加对象

swift - "CEST"时区在向/从夏令时转换期间将偏移量更改为 GMT(不应该)

Swift 3 扩展特定类型的范围

ios - 在 Swift 中覆盖 CALayer 的 initWithLayer

ios - 在真实设备上的 ios8 中触发通知时不显示角标(Badge)图标和声音

ios - 如何在 NSString 中获取 NSArray 对象并将该对象一一发送?

objective-c - NSTask 在 find 中调用 perl 和管道不起作用

ios - 自定义初始化程序而不覆盖 init?

objective-c - 将简单 View 从 xib 转移到 Storyboard