在Objective C中声明实现上下文内部和外部的静态变量之间的区别?

时间:2011-04-26 06:24:54

标签: iphone objective-c ios static

  

可能重复:
  Where do I have to declare static variables?

我见过像

这样的代码
@implementation ClassA

static NSString *str = nil;

.....

@end

以及

static NSString *str = nil;

@implementation ClassA

.....

@end

如果在@implmentation上下文中声明静态var与外部

之间有什么区别

1 个答案:

答案 0 :(得分:16)

之间没有区别
@implementation ClassA

static NSString *str = nil;

.....

@end

static NSString *str = nil;

@implementation ClassA

.....

@end

他们以同样的方式工作......

  

静态变量有助于提供课程   对象比仅仅更多的功能   一个“工厂”生产的   实例;它可以成为一个   完整而多功能的物体   自己的权利。可以使用类对象   协调它的实例   创建,分配实例   已创建的对象列表,或   管理其他必要的流程   应用程序。在你的情况下   只需要一个特定的对象   类,你可以把所有的对象   将状态转换为静态变量并使用   只有班级方法。这节省了   分配和初始化的步骤   一个实例。