在 Cocoa 子类中是否有命名实例变量的首选方法?
当子类化 MKMapView 这样的类时,是否有命名新添加的实例变量的首选方法?苹果表示它保留下划线前缀供自己使用,所以我可以继续使用我喜欢的任何东西而不用担心可能的冲突吗?
When subclassing a class like MKMapView, is there a preferred way of naming the newly added instance variables? Apple says it reserves the underscore prefix for their own use, so can I just go ahead and use whatever I like without worrying about possible clashes?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您将需要使用任何超类都未使用的名称 - 如果您不小心这样做,编译器将出错,您只需更改变量的名称即可。一般来说,这并不是什么大问题,您几乎可以使用任何您想要的东西。据我观察,类别方法比实例变量更容易出现命名冲突问题。
You'll want to use a name not used by any of your superclasses — the compiler will error out if you accidentally do and you'll just have to change the variable's name. In general, it's not a very big deal and you can use pretty much whatever you want. It's my observation that category methods are more prone to naming conflict problems than instance variables are.
说得更清楚; Apple 为方法名称保留下划线前缀,而不是iVars。
许多开发人员喜欢使用下划线前缀命名他们的 iVar,以将其与属性名称区分开。
To be clearer; Apple reserve the underscore prefix for method names not iVars.
Many developers prefer to name their iVars with an underscore prefix to distinguish them from their property names.
有一个完整的 Apple 编程指南,专门用于Cocoa 中的命名约定和风格。
There's an entire Apple programming guide dedicated to naming conventions and style in Cocoa.
由于您的子类往往有您自己的前缀(如 EHMapView),因此您可以使用
_eh_
为实例变量添加前缀(例如_eh_foo
)。Since your subclass will tend to have your own prefix (like EHMapView) you may prefix instance variables with
_eh_
(e.g._eh_foo
).