【问题标题】:Objective-C hidden instance variables [duplicate]Objective-C隐藏实例变量[重复]
【发布时间】:2013-08-18 03:36:01
【问题描述】:

您好,我见过两种在 .m 文件中声明隐藏实例变量的方法 1)

@interface MyClass() 
{
  //my ivars
}
@end
@implementation MyClass 
 //my implementation
@end

2)

@implementation MyClass
{
 //my ivars
}
 //my implementation
@end

对两者之间的区别和/或编码约定感到困惑。感谢您的帮助!

【问题讨论】:

  • 你会在stackoverflow.com/questions/172598/…找到你的答案这两个选项都是有效的,它只是取决于你使用的Xcode版本(阅读编译器)。最好将此标记为重复。
  • @LucWollants 他在询问实例变量,而链接的问题是指私有方法。虽然它们相似,但我认为这不是上述内容的重复。

标签: iphone ios objective-c


【解决方案1】:

好问题!您倾向于看到在interface 中声明的实例变量,但显然implementation 也可以。我对这个问题的看法:

  1. 我认为使用interface 是更好的做法
  2. 认为implementation 中声明的 ivars 无法被子类访问

【讨论】:

    猜你喜欢
    • 2014-09-16
    • 2011-01-07
    • 2013-02-02
    • 2023-04-04
    • 2011-12-09
    • 1970-01-01
    • 2012-07-29
    • 2011-02-02
    相关资源
    最近更新 更多