我正在观看WWDC ARC介绍视频,在看到一个Apple工程师谈到Stack示例之前,我看到过ObjC中从未见过的东西.
以下代码用于ARC的堆栈示例:
@implementation Stack
{
// instance variable declared in implementation context
NSMutableArray *_array;
}
- (id)init
{
if (self = [super init])
_array = [NSMutableArray array];
return self;
}
- (void)push:(id)x
{
[_array addObject:x];
}
- (id)pop
{
id x = [_array lastObject];
[_array removeLastObject];
return x;
}
@end
Run Code Online (Sandbox Code Playgroud)
请注意在@implementation指令之后声明的实例变量.
现在让我感到惊讶的是,实际变量实际上可以在实现文件中声明,而不是静态变量.我的问题如下: