Некоторая предыстория этой проблемы
Как и @dirtydanee уже ответил, есть разница между этими двумя уроками.Но проблема в том, что, несмотря на то, что, похоже, вы выполняете конфигурацию, на самом деле это просто функции, вложенные в функции с использованием обобщений и протоколов для «магического» анализа всего в функции компиляции.
Однако соответствие этимОбобщения и протоколы должны быть довольно точными, потому что если не все дерево функций больше не может компилироваться.Но для компилятора сложно определить, какое соответствие на самом деле не удалось.Вот почему вы видите ошибку вверху, а не в том месте, где она действительно возникает.
Настоятельно рекомендуется убедиться, что ваши представления разложены на естественные и простые блоки, чтобы не проливать сотнистроки View
кода, чтобы найти эту ошибку.
Дейв ДеЛонг провел действительно отличный разговор о том, как составлять представления из ViewControllers, которые все еще сохраняются до сегодняшнего дня: в основном вы никогда не используете View как подпредставление внутри другого View, но вам нужно разложить ваш View на множество простых Views.В противном случае эти ошибки сведут вас с ума.