2013-08-22 55 views
7

thừa kế đơn giản mà tôi đã thực hiện một triệu lần:Lớp được xác định mà không chỉ định một lớp cơ sở?

@class AGWindowView; 

@interface HelperView : AGWindowView 

tôi nhận được lỗi này:

Class "HelperView" defined without specifying a base class. 

Vâng, rõ ràng là tôi đang xác định một lớp cơ sở. Chuyện gì đang xảy ra ở đây? Có cách nào AGWindowView sẽ không cho phép chính nó được phân lớp?

Trả lời

13

Bạn sẽ cần phải nhập tệp xác định AGWindowView ở đầu tệp. Trình biên dịch sẽ cần phải biết về cả lớp, không chỉ là nó tồn tại.

0

Đảm bảo nhập tệp .h trong tệp .m của bạn!

// XYZYourClass.m 

#import "XYZYourClass.h" 

@implementation YYZYourClass 

@end 

Nếu bạn không #import XYZYourClass.h, bạn sẽ nhận được lỗi:

Class 'XYZYourClass' defined without specifying a base class

2

Chúng tôi có vấn đề này cố gắng để cài đặt một cocoapod cũ-ish. Vấn đề là một macro không được tính đến tại thời điểm phân tích.

Tùy chọn mặc định trong tệp dự án nhóm cho Cảnh báo LLVM "Không chủ định gốc" hiện được đặt mặc định là "Có (coi là lỗi)" thay vì "Có" như trước đây.

Unintentional Root Class configuration option