我已经通过这种方式在我的自定义类中定义了一个委托协议:
#import <Foundation/Foundation.h>
@protocol myProtocol <NSObject>
-(void)myMethod;
@end
@interface MyClass : NSObject {
id<myProtocol> delegate;
}
@property(nonatomic, assign) id<myProtocol> delegate;
@end
现在在Interface Builder中,我将NSObject拖到'Objects'区域。 将其类设置为MyClass。
为什么连接Inspector没有显示'委托'选项(就像下面的框架类一样)?
答案 0 :(得分:0)
您需要指定它是IBOutlet
,如此:
#import <Foundation/Foundation.h>
@protocol myProtocol <NSObject>
-(void)myMethod;
@end
@interface MyClass : NSObject {
IBOutlet id<myProtocol> delegate;
}
@property(nonatomic, assign) IBOutlet id<myProtocol> delegate;
@end
- 的 IBOutlet中强>
用于限定实例变量声明的标识符 这样Interface Builder可以同步显示和连接 与Xcode的出口。在此之前插入此标识符 任何变量声明中的变量类型。