我想在objective-c中声明变量,这些变量在类的实例化实例中可用,但在该类的范围之外不可用。我一直在做我的代码如下:
@interface myClass
{
NSString* classVariable;
}
@end
@implementation myClass
-(void)method
{
NSLog(@"%@",classVariable);
}
@end
这似乎适用于代码,但我是Objective-c的新手(来自Java和C#)。这是最佳做法吗?有没有陷阱?
提前致谢!
答案 0 :(得分:1)
许多人会告诉你使用属性,但有时你只想要一个私有的实例变量(这意味着在Objective-C中更难以访问真正的访问控制)。如果是这种情况,Objective-C语言就可以在不久前在实现中声明实例变量,以满足您的需求。将您的代码更改为:
@interface myClass
@end
@implementation myClass
{
NSString* classVariable;
}
-(void)method
{
NSLog(@"%@",classVariable);
}
@end
以这种方式声明的实例变量与Objective-C允许的隐藏。