周期:它的生存周期存在于程序的整个运行期
作用域:
void test()
{
int m=3;
static int i=5;
}
局部变量m存放在栈中,当test函数结束,m将被销毁;静态变量i不存放在栈中,而是存放于程序的全局变量区域,因此随着函数test的结束,它并不随着出栈操作而被销毁,它的生存周期存在于程序的整个运行期;然而m和i的作用域都仅存在于test函数中它们的定义之后,即test调用结束之后,m和i就不再可用,但是i仍存在于内存之中。
最后我想说的是:
因为static的生命周期是整个进程,所以,如果想重置它的值可以在
- (void)viewDidDisappear:(BOOL)animated;
或者dealloc等地方做