我希望能夠檢查一個UIViewController的類型,看看它是否是一個特定類型的這樣如何檢查UIViewController是否屬於目標c中的特定子類?
C代碼
if (typeof(instance1) == customUIViewController)
{
customUIViewController test = (customViewController)instance1;
// do more stuff
}
我希望能夠檢查一個UIViewController的類型,看看它是否是一個特定類型的這樣如何檢查UIViewController是否屬於目標c中的特定子類?
C代碼
if (typeof(instance1) == customUIViewController)
{
customUIViewController test = (customViewController)instance1;
// do more stuff
}
的isKindOfClass:
方法指示的對象是否是給定一個實例類或該類的子類的實例。
if ([instance1 isKindOfClass:[CustomUIViewController class]]) {
// code
}
如果要檢查對象是否是一個給定的類的實例(但不是類的子類的實例),使用isMemberOfClass:
代替。
嘗試:
[vc isKindOfClass:[CustomViewController class]];
斯威夫特版本:
var someVC: UIViewController
if someVC.isKindOfClass(MyCustomVC) {
//code
}
var someVC: UIViewController
if someVC is MyCustomVC {
//code
}
我只是想除了增加this answer,如果你想看到,如果一個視圖控制器是的開關語句(在斯威夫特)您可以這樣做:
var someVC: UIViewController?
switch someVC {
case is ViewController01: break
case is ViewController02: break
case is ViewController03: break
default: break
}
雨燕3.0 在最新的,我們必須與類名 旁邊加上自己或它會拋出「後預期的會員名稱或構造函數調用類型名稱」 下面的代碼U可以出錯用於Swift 3及更高版本
for viewController in viewControllers {
if viewController.isKind(of: OurViewController.self){
print("yes it is OurViewController")
self.navigationController?.popToViewController(viewController, animated: true)
}
}
您應該可以在iPhone SDK中使用C代碼......您是否試過您的代碼了? – Moshe 2010-11-06 23:58:54
除了這是無效的C代碼... – dreamlax 2010-11-07 00:04:01
@dreamlax - 我從來沒有說過它。 – Moshe 2010-11-07 00:10:57