我见过像
这样的代码@implementation ClassA
static NSString *str = nil;
.....
@end
以及
static NSString *str = nil;
@implementation ClassA
.....
@end
如果在@implmentation上下文中声明静态var与外部
之间有什么区别答案 0 :(得分:16)
之间没有区别
@implementation ClassA
static NSString *str = nil;
.....
@end
和
static NSString *str = nil;
@implementation ClassA
.....
@end
他们以同样的方式工作......
静态变量有助于提供课程 对象比仅仅更多的功能 一个“工厂”生产的 实例;它可以成为一个 完整而多功能的物体 自己的权利。可以使用类对象 协调它的实例 创建,分配实例 已创建的对象列表,或 管理其他必要的流程 应用程序。在你的情况下 只需要一个特定的对象 类,你可以把所有的对象 将状态转换为静态变量并使用 只有班级方法。这节省了 分配和初始化的步骤 一个实例。