Saya memiliki masalah berikut: Saya mendapatkan instance dari kelas yang dilewati dan ingin tahu nama kelas dari instance ini. Bagaimana cara mendapatkan ini?
Sama sekali tidak ingin membangkitkan kemarahan Anda, tetapi ini adalah jawaban terkait iOS kedua di profil Anda. Sepertinya saya menambahkan hanya bahwa kita dapat merujuk ke instance sebagai "diri" dari dalam implementasinya. Apakah Anda akan membela ini dengan menambahkan secara substansial jawaban yang diterima tiga tahun?
danh
@danh saya melihat Anda memburu saya. Bagus untukmu!
Katedral Pillon
Maaf, saya baru saja mengklik yang ini, dan berdebat tentang apakah akan mengatakan sesuatu. Hanya ingin melakukan sedikit gangguan, tetapi saya tahu bahwa emosi cepat panas di pengaturan semi-wajah ini. Terima kasih sudah baik hati tentang hal itu. (Bahkan, +1 untuk berlatih enkapsulasi).
Jawaban:
NSStringFromClass([instance class])
harus melakukan trik.sumber
#import <objc/objc-runtime.h>
dapat memanggil kelas secara instan.jika semua yang ingin Anda lakukan adalah menguji objek untuk melihat apakah itu jenis Kelas tertentu
sumber
Dari dalam kelas itu sendiri
sumber
Cukup tambahkan kategori:
Kemudian gunakan kode berikut:
atau bahkan:
Untuk menggunakannya di mana saja, tambahkan kategori ke file YourProject.pch.
sumber
Anda juga bisa menggunakan
[[self class] description]
sumber
OBJC:
CEPAT
Dari contoh:
Dari tipe:
sumber
Jika Anda mencari cara mendapatkan classname di Swift Anda dapat menggunakan refl untuk mendapatkan informasi tentang objek.
sumber
self.dynamicType