Я использую этот library и все работало хорошо, прежде чем я обновлена до стремительной 2.2быстры 2,2 непризнанного селектора отправляется например 0x7ff411c6ef90'
Первых предупреждений, которые я получил, что я должен был обновить свои селекторы к новому #selector который У меня есть.
Но теперь я получаю ошибку:
**Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Test.DOFavoriteButton select:]: unrecognized selector sent to instance 0x7ff411c6ef90'
Когда я смотрю в коде я нахожу эти функции:
public func select() {
select(true)
}
public func select(animate animate: Bool) {
selected = true
imageShape.fillColor = imageColorOn.CGColor
if animate {
CATransaction.begin()
circleShape.addAnimation(circleTransform, forKey: "transform")
circleMask.addAnimation(circleMaskTransform, forKey: "transform")
imageShape.addAnimation(imageTransform, forKey: "transform")
for i in 0 ..< 5 {
lines[i].addAnimation(lineStrokeStart, forKey: "strokeStart")
lines[i].addAnimation(lineStrokeEnd, forKey: "strokeEnd")
lines[i].addAnimation(lineOpacity, forKey: "opacity")
}
CATransaction.commit()
}
}
Если я правильно понимаю первый select()
должен переключить одушевленные до true
?
Но если я изменить его на:
public func select() {
selected = true
}
приложение будет работать без сбоев, но анимация не будет работать.
Так что же select(true)
делать?
Вам нужно указать код, в котором вы настраиваете '# selector'. Кроме того, любые другие методы называют 'select', потому что * этот * код даже не компилируется. (Вы должны были бы вызвать 'select (animate: true)') – nhgrif
Он бы скомпилировал, 'UIResponder' имеет метод' select: ' – dan
@dan. Предполагается, что этот код является частью класса, который наследует от' UIResponder' , Вероятно, это относительно безопасная ставка, но этот контекст здесь полностью отсутствует. Этот вопрос значительно отсутствует в деталях. – nhgrif