У меня есть такой класс ..
#import "MyObjectAddView.h"
#import "MyAppDelegate.h"
#define myAppDelegate (MyAppDelegate *) [[UIApplication sharedApplication] delegate]
@class MyObjectAddView;
@interface AccountViewController : UIViewController <UIScrollViewDelegate, MyObjectAddViewDelegate, UIImagePickerControllerDelegate> {
MyObjectAddView *myAddView;
.....
}
@property (nonatomic, retain) IBOutlet MyObjectAddView *myAddView;
- (id) initWithSettings:(SettingsObject *)settings;
@end
ПОЧЕМУ он внезапно сообщает мне, что Не удается найти объявление протокола для 'MyObjectAddViewDelegate' , когда я явно импортирую и включаю @ класс, где протокол определяется? Вот как настраивается MyObjectAddView :
#import <UIKit/UIKit.h>
#import "MyAppDelegate.h"
#define myAppDelegate (MyAppDelegate *) [[UIApplication sharedApplication] delegate]
@protocol MyObjectAddViewDelegate;
@interface MyObjectAddView : UIView <UITextFieldDelegate> {
@private
id <MyObjectAddViewDelegate> delegate;
....
@public
.....
}
@property(nonatomic, assign) id <MyObjectAddViewDelegate> delegate;
.....
@end
@protocol MyObjectAddViewDelegate <NSObject>
// expense == nil on cancel
- (void)myObjectAddViewDidFinish:(MyObjectAddView *)addView;
@end
Кажется, все настроено идеально, и я не вижу никакого циклического импорта ?! Есть предложения, почему определение протокола может не отображаться в MyObjectAddView?
Спасибо.