У меня проблемы с указателями в Objective-C.По сути, в моем классе есть следующая структура:
UITableView *list;
NSArray *objArray;
UIPickerView *pickerCtrl;
Мой «список» показывает данные, содержащиеся в objArray, который является временной структурой, связывающей пользовательские объекты NSO различных типов (не хранящиеся в моем текущем объекте).
При выборе одного элемента в списке отображается «pickerCtrl», отображающий соответствующие данные в зависимости от того, какая строка TableView выбрана в настоящий момент.
Моя цель - заменить данные oldObject (внешний объект,доступ к objArray) с данными newObject (выбранными в PickerView).Например:
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
id oldObject = [objArray objectAtIndex:[[list indexPathForSelectedRow] row]];
id newObject = [pickerData objectAtIndex:row];
*oldObject = *newObject;
}
В отладчике oldObject и newObject имеют правильные адреса памяти.Проблема в том, что, похоже, не выполняется присваивание, и старые данные никогда не заменяются данными из "newObject".
Что мне здесь не хватает?