Tôi đã gặp sự cố Objective-C dường như không có ý nghĩa gì đối với tôi. Tôi là một lập trình viên ObjC tương đối thành thạo và hiểu toàn bộ khái niệm "tuyên bố về phía trước", nhưng cái này khiến tôi gãi đầu. Vì vậy, đây là thỏa thuận:"Không thể tìm thấy lỗi khai báo giao diện ..." sau @class
ClassA là một lớp trong dự án Xcode của tôi chỉ là dự án. ClassB là lớp con của ClassA công khai và được nhập vào tiêu đề khung của tôi.
Tôi nhận được thông báo "Không thể tìm thấy giao diện cho 'ClassA', siêu lớp của 'ClassB' ..." lỗi khi xây dựng. Tôi đã đặt tuyên bố chuyển tiếp @class ClassA;
trong ClassB.h, nhưng điều đó dường như không giải quyết được vấn đề. Khi tôi thay đổi @class ClassA;
thành #import ClassA.h
, nó hoạt động tốt. Tuy nhiên, vì ClassA chỉ là dự án, các dự án phụ thuộc không thể xây dựng ClassB vì nó không thể truy cập nguồn của ClassA.
Bất kỳ trợ giúp nào sẽ được đánh giá cao và tôi hy vọng điều đó có ý nghĩa. Cảm ơn!
Hmm, tôi đã tìm càng nhiều. Tuy nhiên, điều đó khiến tôi không chắc chắn nên làm gì ở đây. Tôi cho rằng tuyến đường duy nhất mà tôi còn lại là làm cho siêu lớp công khai và chỉ đơn giản là tài liệu rằng việc sử dụng siêu lớp không được thông báo. – Grimless
Ah, vâng. Một siêu lớp trừu tượng. Tôi khuyên bạn nên đọc về Nhóm lớp vì chúng duy trì một mẫu thiết kế tương tự. – bbum
Thật không may, tôi không tin rằng các cụm lớp giải quyết vấn đề này. Các nhóm lớp ẩn các lớp con cung cấp chức năng cụ thể. Tôi đang cố gắng ẩn * superclass * trong khi vẫn làm cho các lớp con có sẵn công khai. Trong mọi trường hợp, cảm ơn cho cái nhìn sâu sắc! – Grimless