未找到ios类“预期类型”

时间:2012-03-07 19:03:54

标签: ios ios5 xcode4.2

我在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 个答案:

答案 0 :(得分:9)

我建议的一件事是你遵守Obj-C的做法,即在头文件接口文件中,而不是导入自定义类,你可以向前声明它们。例如,在FooterSelectorView.h中,而不是:

#import "FooterArchiveItemView.h"

转发声明课程:

@class FooterArchiveItemView

然后,在实现文件(FooterSelectorView.m)中导入。在这种情况下观察实践可能实际上并不能解决您的问题(我不确切知道发生了什么,我个人想要看到更多的代码来冒险猜测),但它可能有助于为您隔离问题。 / p>

此规则的注意例外是Apple的框架 - 将这些框架导入标题。