Я работаю с чем-то тривиальным к этому:Как правильно проверить успешное нажатие кнопки AnyObject?
func isAnyObject<T>(someObject: T) {
if let object = someObject as? AnyObject {
// do something
} else {
// do something else
}
}
Что дает мне предупреждения компилятора:
- условный бросок от «T» в «AnyObject» всегда удается
- неопциональные выражение типа «AnyObject», используемое при проверке на опционные
Я понимаю, почему литой всегда удается, но я не знаю, что делать, чтобы исправить это. Я попытался изменить строку 2 на if let object = foo as AnyObject?
, но когда я передаю структуру через функцию, она все равно попадает в блок «if». Что мне здесь не хватает?
Почему вы вообще кастинг? – Alexander
P.s., не записывайте '-> Void' в подписи функций. – Alexander
К сожалению. Тем не менее, я не знаю, полностью ли я понимаю цель приведения, но для своих собственных намерений я просто вижу, что потребуется для передачи объекта структуры, и чтобы он попал в блок «else». – Steals