Я создаю приложение для iOS с Xcode и использую CoreData. В модели данных есть несколько сущностей, скажем: A, B, C, D, E.
В homeViewController есть пять кнопок, и каждая кнопка выполняет переход к detailTableViewController для каждой сущности.
В зависимости от того, какая кнопка нажата, вы должны получить информацию для соответствующего объекта. Например, если я нажму кнопку «B», я должен получить данные для объекта «B» в detailTableViewController.
И тут возникает вопрос: как я могу объявить переменную "entityArray", чтобы сохранить результат запроса выборки, если я не знаю, какая сущность будет нажата до нажатия кнопки? Я не имею представления о его типе данных, пока кнопка не будет нажата.
Если бы существовала только одна сущность "А", я бы написал:
let entitiesArray = [A]()
let request: NSFetchRequest<A> = A.fetchRequest()
entitiesArray = try context.fetch(request)
...
Однако я не знаю сущность, которую будут толкать.
И использование оператора switch в viewDidLoad не решает проблему, потому что мне нужно, чтобы entityArray был глобальной переменной, чтобы использовать ее внутри других функций, таких как numberOfRowsInSection и cellForRowAt indexPath.