Ich schreibe eine Methode, die für einen bestimmten View-Controller-Klasse einen View-Controller-Instanz zurückgibt, aber ich muss die Klasse stellen Sie sicher, übergeben ist eigentlich eine View-Controller-Klasse:
%Vor% Ich kann den Namen der Klasse seit cls
vergleichen kann nicht sein, UIViewController.
bearbeiten:
Leider habe ich in der Methode gemeint, wie kann ich überprüfen, ob cls
ist eine Art von UIViewController Unterklasse
Wenn Sie ein Klassenobjekt haben, das die zu testende Objective-C-Klasse repräsentiert, verwenden Sie + (BOOL)isSubclassOfClass:(Class)aClass
, das einen booleschen Wert zurückgibt, der angibt, ob der Empfänger eine Instanz einer gegebenen Klasse oder eine Instanz von ist jede Klasse, die von dieser Klasse erbt. (erforderlich)
BEARBEITEN
Wenn Sie ein Klassenobjekt haben, das eine Unterklasse der zu testenden Klasse ist, dann verwenden Sie + (BOOL)isSubclassOfClass:(Class)aClass
, die einen booleschen Wert zurückgibt, der angibt, ob die empfangende Klasse eine Unterklasse einer bestimmten Klasse ist oder mit dieser identisch ist.
Tags und Links class objective-c ios uiviewcontroller