iOS: Wie überprüft man eine gegebene Klasse ist eine Art von UIViewController-Klasse?

7

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

    
hzxu 19.03.2013, 06:33
quelle

5 Antworten

24
%Vor%     
Hasintha Janka 19.03.2013, 06:38
quelle
1

Sie können den folgenden Code verwenden.

%Vor%     
Yashesh 19.03.2013 06:34
quelle
0

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)

%Vor%

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.

%Vor%     
βhargavḯ 19.03.2013 06:35
quelle
0
%Vor%     
Dipen Panchasara 21.03.2013 04:44
quelle
0

Diese Antwort kommt etwas spät, aber da Sie die Klasse eines Klassenobjekts (keine Instanz einer Klasse) überprüfen möchten, ist der folgende Test der geeignete:

%Vor%     
Alan M 28.08.2014 18:26
quelle