【发布时间】:2014-10-22 15:41:51
【问题描述】:
我想在objective-c 中声明变量,这些变量在类的实例化实例中可用,但在该类范围之外不可用。我一直在做我的代码如下:
@interface myClass
{
NSString* classVariable;
}
@end
@implementation myClass
-(void)method
{
NSLog(@"%@",classVariable);
}
@end
这似乎在代码中有效,但我是 Objective-c 的新手(来自 Java 和 C#)。这是最佳做法吗?有什么陷阱吗?
提前致谢!
【问题讨论】:
-
只使用属性就可以了!
-
@CrimsonChris 谢谢。我目前使用的方法有什么陷阱吗?我知道属性在类之外是可见的,我想避免这种情况。
-
如果你把它们放在头文件中,它们只在类外可见。将它们放在您的类实现正上方的类类别中。
-
@CrimsonChris 啊,我明白了。所以这是最佳实践。出于好奇,我现在做的事情有什么陷阱吗?
-
属性自动提供您可以覆盖的 getter 和 setter 方法。它们还允许您将它们声明为 ARC 的弱或强。使用它们的最重要原因是您可以与社区的其他人保持一致。
标签: objective-c scope class-variables