作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一堂这样的课..
#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
当我明确导入并包含协议(protocol)定义位置的 @class 时,为什么它突然告诉我找不到“MyObjectAddViewDelegate”的协议(protocol)声明?下面是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 中看不到协议(protocol)定义吗?
谢谢。
最佳答案
导入类的 header 后,不需要对该类进行前向引用。只有当您计划将 header 包含在实现文件中时,才进行前向引用。删除 @class MyObjectAddView
,如果可以解决问题,请告诉我,如果没有,我可能会为您提供另一个解决方案。
关于iphone - 当 'MyObjectViewDelegate' 明显存在时找不到协议(protocol)声明?1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5424886/
我有一堂这样的课.. #import "MyObjectAddView.h" #import "MyAppDelegate.h" #define myAppDelegate (MyAppDelegat
我是一名优秀的程序员,十分优秀!