iOS全局静态和局部静态变量杂记

2019-01-14  本文已影响0人  _人非草木_

最近在检视项目中的代码时看到有人像这样使用静态局部变量(非原始代码,举例说明):

- (void)function {
    static NSString *str = "hello";
    ......  // 函数中只有对str的读取使用,无修改
}

我询问代码的开发人员为何需要定义这样一个局部静态变量,对方的回答是:此函数需要比较频繁调用,定义局部静态变量之后就不需要每次调用此函数的时候都定义和释放变量,可以提高执行效率。
咋听此言,好像是有些道理的。但是仔细一推敲,这种说法是存在问题的,主要有以下几点原因:

所以,除非必要,不要轻易使用静态变量,否则其带来的收益可能并不会如预期那么好。

上一篇下一篇

猜你喜欢

热点阅读