578 Stimmen

Wie kann ich in Objective-C den Objekttyp testen?

Ich muss prüfen, ob das Objekt vom Typ NSString o UIImageView . Wie kann ich das bewerkstelligen? Gibt es eine Art von "isoftype"-Methode?

36 Stimmen

Ja, die gibt es: [object isKindOfClass:[ClassName class]]

6voto

AMohan Punkte 524

Einfach, [yourobject class] es gibt den Klassennamen von yourobject zurück.

2 Stimmen

Tatsächlich wird es eine Class Objekt. Allerdings ist die description dieses Objekts ist der Klassenname in Form einer Zeichenkette, so dass Sie ihn weiterhin auf der Konsole protokollieren können.

-2voto

Mauersegler 5

ist ist das Äquivalent zu isKindOfClass in Windeseile

Hier können Sie einfach verwenden,

myObject is NSString

myObject is UIImageView

Mehr zum Thema

class Animal {}
class Dog: Animal {}
class Cat: Animal {}

let c = Cat()
let myObject = Cat()

//isKindOfClass equivalent
c is Cat //true
c is Dog //false
c is Animal //true

//isMemberOfClass equivalent
type(of: c) == Cat.self //true
type(of: c) == Dog.self //false
type(of: c) == Animal.self //false

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X