Избыточное соответствие объекта протоколу - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть эта ошибка Redundant conformance of 'AnyView' to protocol 'Pressable' при попытке запустить приведенный ниже код. Может ли кто-нибудь показать ошибку или любой другой способ выполнить тот же логин с протоколами.

class AnyView: UIView, Pressable {

}

// MARK: - Pressable

protocol Pressable: UIView {

}

extension UIView: Pressable {
    // touchesBegan
    override open func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        super.touchesBegan(touches, with: event)
        scaleAnimation(value: 0.8)
    }
}

1 Ответ

2 голосов
/ 12 февраля 2020

Вам просто нужно избавиться от соответствия AnyView с Pressable, поскольку его суперкласс UIView уже соответствует Pressable.

class AnyView: UIView {

}

// MARK: - Pressable

protocol Pressable: UIView {

}

extension UIView: Pressable {
    // touchesBegan
    override open func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        super.touchesBegan(touches, with: event)
        scaleAnimation(value: 0.8)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...