我发现在 Apple 框架的头文件中,Apple 名称实例变量在类接口内带有前缀下划线。像下面的 _delegate 实例:
@interface ClassName : NSObject {
id _delegate;
}
@end
但是如果我们在定义我们自己的实例变量时遵循这个命名约定,会有任何副作用吗?我一直在寻找这个问题的答案很长一段时间。
在苹果的代码指南中,苹果只是说他们保留了以下划线开头的方法名称,他们没有提到对实例变量命名问题的任何限制。
我的同事说,如果您定义以下划线开头的实例变量,如果您选择的名称存在于框架的私有头文件中,则可能会与框架发生冲突。这是否可能,或者这是否成为我们不应该使用以下划线开头的名称的原因,因为苹果可能已经使用了它?