У меня есть класс
class SomeViewController<T: SomeViewModel>: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource { ... }
И еще один класс:
class AnotherViewController: UIViewController {
private weak var someVC: UIViewController?
...
func someFunc() {
if someVC is SomeViewController { ... } // attempt 1
// or
if let vc = someVC as? SomeViewController { ... } // attempt 1
...
}
...
}
Мне нужно посмотреть, является ли someVC
значением SomeViewController
, чтобы я мог получить доступ к переменной экземпляраэто не имеет ничего общего с универсальным типом.Однако при выполнении проверки через attempt 1
или attempt 2
проверка всегда завершается неудачей, и мой внутренний код никогда не выполняется.Как узнать, относится ли он к типу, но не к конкретному универсальному типу, например, мне не нужно указывать тип SomeViewModel
?
РЕДАКТИРОВАТЬ: для ясности добавлен дополнительный код.