Где выделены постоянные нисстроки?
-
03-10-2019 - |
Вопрос
Я понимаю, что постоянные Ctrings распределяются статически, а не на куче.
Я также заметил, что постоянные нистры имеют бесконечный упор. Удерживает ли он, что постоянные нистры также распределяются статически, а не на куче?
Решение
Постоянные нисстроки имеют класс NSConstantString
, и, таким образом, действовать как атомы в Лисске; Они висят вокруг. -> NSConstantStrings
распределяются статически. То есть, если вы используете @"cow"
В двух отдельных местах в вашем коде они будут ссылаться на тот же самый объект.
Причина по которой NSConstantStrings
даже удерживайте подсчет, потому что они наследуют от NSObject
.
Не связан с StackOverflow