В моем приложении у меня есть struct
, и он содержит все мои данные. Он хорошо работает с предыдущей версией Xcode. Но когда я создаю его с помощью Xcode 9, бета-версии 5 для устройства iOS 11, некоторые данные внутри теряются. Это происходит, когда я передаю объект struct
в качестве параметра функции другому действию.
Моя структура выглядит следующим образом:
typedef struct {
NSString *title;
MainController *mainController;
//....
//....
//more than 200 objects
} mystruct;
После потери данных, когда я пытаюсь получить к ним доступ, Xcode показывает [EXC_BAD_ACCESS] и сбой приложения. Есть ли ограничение на размер структур в Xcode 9?
ОБНОВЛЕНИЕ 1: добавить источник создания и передачи
//declare struct
mystruct m;
memset(&m,0,sizeof(mystruct));
// setting data for struct
....
...
...
// passing param
[anotherObj showData:&m];
Метод чтения значения другого объекта:
- (void)showData:(mystruct *)ms
{
// get data of struct
[self showText : ms->title];
}
ПРИМЕЧАНИЕ. Это происходит только в xCode 9 и iOS 11.
- xCode 9 + iOS 11 -> Ошибка
- xCode 9 + iOS 10 -> ОК
- xCode 8 + iOS 11 -> ОК
- xCode 8 + iOS 10 -> ОК
- xCode 7 + iOS 11 -> ОК
- xCode 7 + iOS 10 -> ОК