Tôi cần tên của lớp học sở hữu phương pháp, là NSString
. Ví dụ: Có phương thức -fooBar
bên trong một SomeClass
và phương thức -fooBar
chạy một số mã. Mã này phải in ra những gì lớp "sở hữu" nó, tôi có nghĩa là: Lớp học mà phương pháp thuộc về. Vì vậy, tôi không thể đánh cứng tên lớp trong một NSString
vì tôi cần nó cho mục đích gỡ lỗi, xác định động tên của lớp. Khó để giải thích. Bất kỳ ý tưởng?Làm thế nào để có được tên của một lớp của một phương thức như NSString?
27
A
Trả lời
9
NSLog(@"%@",[self className]);
Cập nhật: xin lỗi, tôi không nhận ra className không tồn tại trên iPhone. Như đã nêu ở trên; sử dụng ..
NSLog(@"%@", NSStringFromClass([self class]));
.. thay thế.
60
Trên Mac, bạn có thể sử dụng:
NSString *className = [self className];
hoặc
NSString *className = NSStringFromClass([self class]);
Trên iPhone, [self className]
không tồn tại, do đó bạn sẽ phải sử dụng:
NSString *className = NSStringFromClass([self class]);
3
Thử:
[[self class] description]
Các vấn đề liên quan
- 1. Làm thế nào tôi có thể chuyển thuộc tính của một lớp như một tham số của một phương thức?
- 2. Làm thế nào để có được tên hoặc chữ ký của phương pháp hiện tại vào một NSString?
- 3. Làm thế nào để có được MethodInfo của phương thức giao diện, khi thực hiện MethodInfo của phương thức lớp?
- 4. Làm thế nào để có được đường dẫn của một lớp dẫn xuất từ một phương thức kế thừa?
- 5. C#: Làm thế nào để gọi một phương thức tĩnh của một lớp cơ sở từ một phương thức tĩnh của một lớp dẫn xuất?
- 6. Python: Làm thế nào để bạn gọi một phương thức khi bạn chỉ có tên chuỗi của phương thức?
- 7. Làm thế nào để có được tên của một lớp Ruby?
- 8. Làm thế nào để gọi phương thức của siêu lớp trong một phương thức lớp gen Clojure?
- 9. Làm thế nào để có được tên của một tài sản lớp học?
- 10. Làm cách nào để truy cập phương thức của đối tượng khi tên của phương thức nằm trong một biến?
- 11. Làm cách nào để có được tên phương thức với tên không gian và tên lớp?
- 12. Làm thế nào để ẩn (loại bỏ) một phương thức của lớp cơ sở trong C#?
- 13. Lấy MethodInfo của phương thức tĩnh của một lớp tĩnh
- 14. Làm cách nào để quyết định một băm được trả về từ một phương thức của một lớp?
- 15. Làm thế nào để Javadoc của phương thức có thể được sao chép vào Javadoc của phương thức khác?
- 16. Sử dụng JDT của Eclipse, làm cách nào để có được một IType từ tên lớp?
- 17. Làm thế nào để phá vỡ mọi phương thức của một lớp trong GDB?
- 18. Phương thức CFString của UTF8String của NSString là gì?
- 19. Làm thế nào để có được (sub) tên lớp từ một phương pháp tĩnh trong Python?
- 20. Làm thế nào để truy cập một phương thức siêu lớp từ một lớp lồng nhau?
- 21. Trong proguard, làm thế nào để bảo tồn một tập hợp các tên phương thức của các lớp?
- 22. Làm cách nào để có được javadoc của tất cả các phương thức có chú thích cụ thể, với tên phương thức và tên gói/lớp?
- 23. C#: làm thế nào để bạn có được một lớp cơ sở của lớp?
- 24. Làm thế nào để có được lớp Objective-C của một chiếc ngà?
- 25. Có bao nhiêu phương thức mặc định của một lớp?
- 26. Làm thế nào để tôi có được một bộ chọn từ tên của nó?
- 27. truy cập phương thức của lớp cơ sở với đối tượng của lớp dẫn xuất có phương thức cùng tên
- 28. Có phương thức "stringByReplacingCharactersInRange" của NSString trong Monotouch không?
- 29. Gọi một phương thức của một lớp chung
- 30. Làm thế nào để gọi phương thức mở rộng có cùng tên với một phương thức hiện có?
Bạn sẽ nhận được nhiều hơn một chút so với bạn muốn như vậy: –