NSCollectionView
有一个应该符合的委托NSCollectionViewDelegate
。
- (id < NSCollectionViewDelegate >)delegate
我有一个新协议,它扩展了NSCollectionViewDelegate
.
@protocol extendedProtocol <NSCollectionViewDelegate>
现在,在我的 CollectionViewItem 的控制器类中,我尝试以这种方式调用委托的方法:
if (
[self collectionView]
&& [[self collectionView] delegate] &&
[[[self collectionView] delegate] conformsToProtocol:@protocol(extendedProtocol)]
)
{
BOOL flag = [[[self collectionView] delegate] doSomeWork:@"abc"];
}
我不断收到警告说“未找到实例方法'doSomeWork:'”。
我试着做
id <extendedProtocol> dg = [[self collectionView] delegate];
BOOL flag = [dg doSomeWork:@"abc"];
但随后我收到警告,“不兼容的指针类型使用 'id' 类型的表达式初始化 'id'。
更改 NSCollectionView 委托协议的正确方法是什么?