#ios #objective-c #generics #swift3
#iOS #objective-c #общие #swift3
Вопрос:
Я использую библиотеку objective-c, которая определяет универсальный класс, например:
@interface BFTask<__covariant ResultType> : NSObject
Мне нужно добавить функцию в этот класс. Как только функция объявляет параметр, который является замыканием, я получаю сообщение об ошибке. Итак
extension BFTask { func noClosure(param1: Int) { } }
компилируется нормально, пока
extension BFTask { func withClosure(param1: (Int) -> Void) { } }
Результат «Сбой команды из-за сигнала: ошибка сегментации: 11»
Комментарии:
1. Это ваша программа, которая нарушает сегментацию, или компилятор?
2. Программа не компилируется.
3. Я бы предложил отправить отчет об ошибке…
4. Я только что это сделал. Давайте посмотрим, что произойдет.
5. Вы получили ответ на это?
Ответ №1:
Проблема была решена в Xcode 8.1.
Комментарии:
1. Это все еще происходит для меня, если я использую что-то вроде
@interface MyClass<__covariant Type: MyClass *> : NSObject
.