0
@protocol BGTableViewDelegateMother <BGIhaveNavigationController>



@end

@interface BGTableViewDelegateMother : NSObject
@property (weak,nonatomic) UITableView * tv;
@property id <BGIhaveNavigationController> delegate;
@end

说后面我要继承BGTableViewDelegateMother。

但是,我想将委托的类型更改为其他类型。也许不是但是。是否可以?

当然 BGIhaveNavigationController 和其他东西继承自 BGIhaveNavigationController

4

1 回答 1

1

只要您的子类的委托所遵循的协议包含 BGIhaveNavigationController 协议,就可以了。你可以这样做:

@protocol BGIhaveNavigationControllerAndSomethingElse <BGIhaveNavigationController>
- (void)somethingElse;
@end

@interface BGTableViewDelegateChild : BGTableViewDelegateMother
@property id <BGIhaveNavigationControllerAndSomethingElse> delegate;
@end

请注意,如果 BGIhaveNavigationControllerAndSomethingElse 被声明为

@protocol BGIhaveNavigationControllerAndSomethingElse <NSObject>

(也就是说,不包含 BGIhaveNavigationController)那么编译器会抱怨BGIhaveNavigationController'delegate's 的类型。

于 2013-06-07T05:32:19.197 回答