Tôi có 2 lớp, Phụ huynh và con, và Phụ huynh có một phương thức lớp có tên là func. Bây giờ tôi muốn lấy Class instance trong phương thức func để phân biệt lớp nào là người gọi.Mục tiêu-c: Làm thế nào tôi có thể lấy dụ lớp trong phương thức lớp
@interface Parent : NSObject
+ (void)func;
@end
@implementation Parent
+ (void)func {
Class *class = howToGetClass();
NSLog(@"%@ call func", class);
}
@end
@interface Child : Parent
@end
int main() {
[Child func]; // call func from Child
}
Có cách nào để lấy cá thể lớp (hoặc tên lớp) trong phương thức lớp không?
Tôi đang cố gắng thêm một số phương thức tiện ích (như tất cả() trong django) vào NSManagedObject. Vì vậy, tôi cần phải phân biệt người gọi. Sử dụng 'tự' là những gì tôi muốn biết! Cảm ơn! – taichino
Đó không phải là tôi đã bỏ phiếu, nhưng tôi vừa kiểm tra, và trong một phương thức lớp học self == [tự lớp] Chỉ thấy điều này đã được nói trong một bình luận khác, nhưng để làm rõ, chúng là NHẬN ĐỊNH, trong một phương thức lớp học ít nhất. Vì vậy, bạn đã đúng, và vì vậy tôi là –
Lớp * lớp = tự; là sai. Tẩy *. Cú pháp đúng là: Class class = self; – Lukasz