最佳实践班级变量

时间:2014-08-28 17:20:54

标签: objective-c scope class-variables

我想在objective-c中声明变量,这些变量在类的实例化实例中可用,但在该类的范围之外不可用。我一直在做我的代码如下:

@interface myClass
{
 NSString* classVariable;
}
@end

@implementation myClass

-(void)method
{
 NSLog(@"%@",classVariable);
}

@end

这似乎适用于代码,但我是Objective-c的新手(来自Java和C#)。这是最佳做法吗?有没有陷阱?

提前致谢!

1 个答案:

答案 0 :(得分:1)

许多人会告诉你使用属性,但有时你只想要一个私有的实例变量(这意味着在Objective-C中更难以访问真正的访问控制)。如果是这种情况,Objective-C语言就可以在不久前在实现中声明实例变量,以满足您的需求。将您的代码更改为:

@interface myClass
@end

@implementation myClass
{
   NSString* classVariable;
}

-(void)method
{
   NSLog(@"%@",classVariable);
}

@end

以这种方式声明的实例变量与Objective-C允许的隐藏。