Wenn ich eine Unterklasse UIViewController
habe, wie kann ich den Klassennamen als Zeichenfolge erhalten? Ich habe versucht, [vc class]
zu tun, aber dies liefert ein Class
Objekt, nicht ein NSString
.Ruft den Klassennamen eines View-Controllers als Zeichenfolge ab
Antwort
NSStringFromClass
Gibt den Namen einer Klasse als String zurück.
NSString * NSStringFromClass ( Class aClass );
Wenn Sie hier von Google enden und die SWIFT 3 Antwort wollen, benutzen Sie zB: 'String (Beschreibung: MyViewController.self)': https://Stackoverflow.com/a/34878224/1736679 – Efren
Verwenden Sie die Funktion:
const char * class_getName(Class cls)
als
class_getName ([vc class]);
wie kann ich von Char * auf NSString übertragen? – xonegirlz
Siehe @ JoshCaswells Antwort. – GoZoner
Sie nicht von Char * zu NSString zu werfen. Sie müssen eine Zeichenfolge aus Bytes mit einem Aufruf wie initWithBytes erstellen: length: encoding :. Sie würden wahrscheinlich die Codierung NSASCIIStringEncoding verwenden. Siehe die Nachricht des anderen Posters über NSStringFromClass. Das ist viel einfacher zu verwenden als die Objective-C-Laufzeitfunktion class_getName(). –
Sie etwas wie folgt tun können, wenn Sie Ihr Objekt instanziiert:
[[NSClassFromString(@"className1") alloc] init];
Sie so etwas wie dieses
tun könnenNSString *strClass = NSStringFromClass([viewController class]);
- 1. Ruft den Text eines Schaltflächen-Widgets ab
- 2. Metro ruft die Base64-Zeichenfolge eines StorageFile ab
- 3. Deklarieren eines Java-Objekts mit seinem Typ/Klassennamen als Zeichenfolge
- 4. QTcpServer ruft mehr als eine Adresse ab
- 5. Ruft die SRID eines Geometriefelds ab
- 6. Ruft den Anzeigewert von einem DropDown ab
- 7. Select-Anweisung Ruft Byte [] und Zeichenfolge aber nicht XML ab
- 8. Ruft die Zeilennummer ab, die eine Zeichenfolge enthält
- 9. EF ruft falsche Dezimalgenauigkeit ab
- 10. Ruft den aktuellen Pfad in einer Reaktionskomponente ab
- 11. Firebase ruft mein Double als String in Swift iOS ab?
- 12. QT: Erhalte den Klassennamen eines Objekts
- 13. PDO ruft keine Ergebnisse ab
- 14. eine Klasse in Python eine Zeichenfolge als Klassennamen
- 15. PHP SPL RecursiveDirectoryIterator RecursiveIteratorIterator ruft den vollständigen Baum ab
- 16. Ruft den Titel der Seite ab, die die Renderaktion aufruft
- 17. Ruft den Index ab, der eine IndexError-Ausnahme verursachte
- 18. Ruft die Entität ab, die den aktuellen Benutzer darstellt [symfony2]
- 19. Ruft den ausgewählten Wert einer DropDownList ab. Asp.NET MVC
- 20. Ruft das TThread-Objekt für den aktuell ausgeführten Thread ab?
- 21. Aufruf eines Klassendateinamens aus einer Zeichenfolge mit dem Klassennamen
- 22. Wie ruft Facebook URL/Feed-Inhalte ab?
- 23. TextBlock-Bindung zeigt den Klassennamen anstelle der leeren Zeichenfolge an
- 24. Erstellen eines Objekts mithilfe der Zeichenfolge als Name
- 25. Facebook ruft nicht alle Bilder ab?
- 26. Warum ruft NSArrayController zweimal hintereinander ab?
- 27. Welches Signal ruft die QComboBox ab?
- 28. IIS ruft Windows-Benutzer nicht ab
- 29. Wie ruft man alle NSNotificationCenter-Beobachter ab?
- 30. Aktualisieren eines ViewControllers mit der UITabBar-Anwendung
möglich Duplikat [Wie kann ich drucken der Typ oder die Klasse einer Variablen in Swift?] (http://stackoverflow.com/questions/24006165/how-do-i-print-the-type-or-class-of-a-variable-in-swift) – Dschee