увидеть, почему тип не соответствует протоколу в Xcode (swift)

У меня часто есть относительно сложные протоколы с ограничениями ассоциированного типа, они используются в универсальных шаблонах, используются расширениями типов CoreData и т. Д. Поэтому я относительно часто получаю сообщение об ошибке: Type .. does not conform to protocol .... Обычно я могу понять это через некоторое время, но сообщение об ошибке действительно бесполезно - и обычно, если проблема заключается в незначительной опечатке в сигнатуре метода или чего-то еще, поиск ошибки занимает некоторое время. С интерфейсами Java IDE часто сообщают что-то вроде method ... not implemented или что-то в этом роде, поэтому я знаю, какой метод следует изучить более подробно.

Есть ли способ сделать отчет Xcode подробным о членах протокола, которые отсутствуют в соответствующем типе?


person qqq    schedule 26.04.2016    source источник
comment
Возможный дубликат методов протокола Swift с автоматической реализацией в XCode   -  person JAL    schedule 26.04.2016
comment
@JAL Я в это не верю, потому что мне не обязательно пропустить такие методы. Например, у меня может быть переменная-член супертипа, а не подтипа, или метод с неправильной сигнатурой (а не отсутствующий вообще), поэтому эта функция - автоматическая заглушка - не будет делать то, что я ' м надеюсь на.   -  person qqq    schedule 26.04.2016
comment
Я вижу, вы просто ищете информацию, а не Xcode для автоматической генерации методов   -  person JAL    schedule 26.04.2016
comment
верно, именно так. Я бы ожидал, что автоматическая генерация будет простой подфункцией этой, которую можно реализовать, если первая существует.   -  person qqq    schedule 26.04.2016


Ответы (1)


Когда вы получите эту ошибку, щелкните стрелку, чтобы развернуть ее. Он покажет требуемые функции, которые отсутствуют.

Вот пример, в котором я реализую UITableViewDataSource, но забыл предоставить функцию «cellForRowAtIndexPath».

введите описание изображения здесь

person Michael Peterson    schedule 26.04.2016
comment
Затем серые штучки спрашивают: Хотите добавить? но, похоже, это не способ сделать это. - person Raphael; 12.12.2016