И то и другое self.stateZips
устанавливается в словарь, инициализированный файлом, на который указывает plistPath
.
Но во втором указатель на инициализированный словарь не был сохранен, и, поскольку это объект с счетом сохранения +1, технически необходимо отправить ему сообщение release
в каком-то месте, чтобы сбалансировать память управление. Но так как нет способа получить указатель на этот объект, вы получите утечку памяти.
Применяются два исключения:
1.Сбор мусора
Если вы находитесь в среде сбора мусора, оба одинаковы. Ну, они не одинаковы, но результат похож.
2. Тип недвижимости
Если установщик для stateZips
просто назначает указатель, то вы можете освободить объект, используя указатель ivar. Тогда эти два фрагмента кода имеют только одно различие: в первом объект освобождается сразу после его использования. В последнем случае это просто «не определено». Без контекста трудно определить, был ли этот объект выпущен или нет, и когда.