Класс ios не найден "Ожидаемый тип" - PullRequest
2 голосов
/ 07 марта 2012

У меня две проблемы в моем FooterSelectorView.h, и я понятия не имею, почему.Один - предупреждение, а другой - ошибка.По какой-то причине xcode не распознает FooterArchiveItemView, поэтому я не могу напечатать свой объект как объект, вызывающий другие проблемы.Кто-нибудь видел что-нибудь подобное раньше?Как это исправить?

FooterSelectorView.h

#import <UIKit/UIKit.h>
#import "FooterArchiveItemView.h"

@interface FooterSelectorView : UIImageView

// #warning Type of property 'activeItem' does not match type of accessor 'setActiveItem:'
@property (nonatomic, retain) FooterArchiveItemView *activeItem;

// #error Expected a type
- (void)setActiveItem:(FooterArchiveItemView *)activeItem_;
- (void)update;
- (CGPoint)absoluteCenterOf:(UIView *)obj;

@end

Связанные классы

FooterArchiveItemView.h

#import <UIKit/UIKit.h>
#import "AutosizeableView.h"
#import "FooterArchiveView.h"

typedef void (^ DayBlock)(void);

@interface FooterArchiveItemView : AutosizeableView {
    DayBlock dayBlock;
}

@property (nonatomic, retain) IBOutlet UIButton *day;
@property (nonatomic, retain) IBOutlet UIImageView *bullet;

- (void)setDayBlock:(DayBlock)block;

@end

AutosizeableView.h

#import <UIKit/UIKit.h>

@interface AutosizeableView : UIView

@end

1 Ответ

9 голосов
/ 07 марта 2012

Одна вещь, которую я хотел бы предложить, это то, что вы соответствуете практике Obj-C, что в файлах интерфейса заголовка вместо импорта пользовательских классов вы их объявляете.Например, в FooterSelectorView.h вместо:

#import "FooterArchiveItemView.h"

Объявите вперед класс:

@class FooterArchiveItemView

Затем в файле реализации (FooterSelectorView.m) вы импортируете.Наблюдение за практикой может в действительности не решить вашу проблему в этом случае (я точно не знаю, что происходит, лично я хотел бы увидеть немного больше кода, чтобы рискнуть угадать), но это может помочь изолировать проблему для вас.

Заметным исключением из этого правила являются фреймворки Apple - они импортируются в заголовки.

...