0

我似乎无法按照我想要的方式构建我的协议,并且我已经缩小到使用派生类的问题。如果我使用可可类,它似乎可以工作。这是我所拥有的...

#import <Foundation/Foundation.h>
#import "MyView.h"

@protocol MyDelegate  
- (void)view:(MyView *)aView didDoSomethingWithString:(NSString *)string;
@end

MyView 类是...

#import <UIKit/UIKit.h>
@interface MyView : UIView {  
    NSString *whatever;  
}  
- (void)myMethod;  
@end  

@implementation MyView  
- (void)myMethod {  
 doSomething...  
}  
@end

因此,当我尝试构建时,我在“MyView”之前收到错误“Expected ')'。如果我用 UIView 替换自定义类 MyView 则代码编译。我希望有人看到我忽略的东西。任何想法表示赞赏。

谢谢。

4

2 回答 2

2

你确定 MyView.h 包含@interface MyView : UIView吗?

此外,您可以使用@class 代替导入。例如

@class MyView;
@protocol MyDelegate
- (void)view:(MyView *)aView didDoSomethingWithString:(NSString *)string;
@end
于 2011-01-31T02:45:11.517 回答
1

尝试将 @interface 和 @implementation 部分放在不同的文件中(如果您当前将它们放在同一个文件中)。看起来您在 MyView.m 中拥有所有这些,并且您正在导入不存在的 MyView.h。

于 2011-01-31T02:48:25.033 回答