Используя статическое ключевое слово в цели-c при определении кэшируемой переменной

Вы должны иметь возможность применять стили непосредственно к переключателям, например:

#choice {
  width: 5px;
}
42
задан altschuler 30 January 2013 в 00:35
поделиться

2 ответа

Статические переменные сохраняют свои присвоенные значения по повторным вызовам к функции. Они похожи на в основном глобальные значения, которые только "видимы" к той функции.

оператор инициализатора только выполняется однажды как бы то ни было.

Этот код инициализирует dateFormatter к нолю в первый раз, когда функция используется. На каждом последующем вызове к функции проверка осуществлена против значения dateFormatter. Если это не установило (который только будет верен в первый раз), создается, новый dateFormatter. Если это будет установлено затем, то статическая dateFormatter переменная будет использоваться вместо этого.

Это стоит познакомиться со статическими переменными. Они могут быть очень удобными, но иметь оборотные стороны также (в этом примере, невозможно выпустить объект dateFormatter, например).

Просто подсказка: Иногда это может быть образовательным, чтобы поместить точку останова в код и взглянуть для наблюдения то, что продолжается. Как сложность Ваших программ увеличиваются, это станет неоценимым навыком.

62
ответ дан Andrew Grant 26 November 2019 в 23:43
поделиться

" static" функционально означает, "не оценивают материал на правой стороне, равняется знаку каждый раз через, используйте его предыдущее значение вместо этого" в этом случае.

Использование эта великая держава с большой ответственностью: Вы рискуете использовать целую тонну памяти, так как это объекты, которые никогда не уходят. Это является редко соответствующим за исключением в случаях как этот с NSDateFormatter.

16
ответ дан Jim Puls 26 November 2019 в 23:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: