я объявил структуры в моем файле заголовка, как это:Может ли структура быть освобождена?
typedef struct {
NSString *department;
NSString *departmentId;
} Department;
Department currentDepartment;
Эта структура находится в довольно простом классе. Я присваиваю значения struct в viewDidLoad. Перед тем как покинуть viewDidLoad, я вижу, что значения struct все еще существуют. После того, как пользователь нажмет элемент управления сегмента, я переназначаю значения структуры. Перед назначением значений я вижу, что два значения struct равны 0x0. У меня есть NSZombieEnabled, который распечатывание это, когда я мыши над структурой в то время как приложение работает и один из моих контрольных точек были поражены:
MyApp[25722:207] *** -[CFString _cfTypeID]: message sent to deallocated instance 0xfc0e90
Я не создает экземпляр структуры или deallocating его , Как его можно освободить?
Я не согласен, есть некоторые варианты использования, когда структура имеет больше смысла, чем легкий класс. Трюк идентифицирует эти редкие случаи :) – rpetrich
@ rpetrich: Если вы говорите о структурах с объектами, эти случаи кажутся такими редкими, я думаю, что вы с большей вероятностью столкнетесь с хорошим случаем для небезопасных goto. – Chuck
Структуры объектов часто используются в внутреннем представлении ОС iPhone на клавиатуре и автокоррекции (один пример) – rpetrich