Может быть связано с Строками указателей с тегами
Строки указателей тегов на самом деле недействительны 64-битные указатели, где содержимое хранится внутри самого указателя
это помогает предотвратить ненужную память распределение
Они являются недопустимыми указателями в том смысле, что они не указывают на какое-либо реальное значение памяти
"" "Объекты выровнены в памяти, так что их адрес всегда как минимум кратен размера указателя, и на практике обычно кратно 16. Указатели объектов хранятся как полное 64-битное целое число, но это выравнивание означает, что некоторые из битов всегда будут равны нулю.
Указатели с тегами используют преимущество этого факта, чтобы придать особое значение указателям на объекты, где эти биты не равны нулю. В 64-битной реализации Apple Objective- C указатели объектов с наименьшим значащим битом, установленным в единицу (то есть нечетными числами), считаются помеченные указатели. Вместо стандартного разыменования для определения класса , следующие три бита считаются индексом в таблице помеченных классов. Этот индекс используется для поиска класса помеченного указателя. Остальные 60 бит затем оставляются на усмотрение помеченного класса, чтобы использовать его по своему усмотрению. "" "Это прекрасный прием.
Я думаю, что для NSTaggedPointerString связанные объекты могут быть очищены в следующем прогоне. *