Có cách nào để #import một lớp từ một chuỗi trong Objective-C vào thời gian chạy không? Bất kỳ phương pháp nào có thể tạo ra một kết quả tương tự cũng sẽ được hoan nghênh.Tự động tải lớp trong mục tiêu-C?
Chỉnh sửa:
Tôi muốn truy cập vào một lớp có tên tôi xác định khi chạy. Vì vậy, một cái gì đó như thế này:
NSString *className = getClassName();
Class myClass = loadClass(className);
myClass *myVar = [[myClass alloc] init];
Có cách nào để thực hiện việc này mà không đặt chỉ thị #import tĩnh cho myClass ở đầu tệp không?
Tất nhiên, bạn không thể tải động gói cho iPhone. –
@ Jason Coco: Phải không? NSBundle được ghi lại là hoạt động trên iOS. Miễn là bạn không tải xuống mã bên ngoài, tôi nghĩ bạn sẽ ổn thôi. – Chuck
Dường như "gói có thể tải" là những gì tôi muốn và theo tài liệu của Apple "Việc tạo và sử dụng các gói có thể tải không được hỗ trợ trong iOS". Tôi đoán Apple không muốn mọi người tạo các khung công tác động tuyệt vời trên iOS như tôi muốn làm hoặc không hỗ trợ nó. –