rac_signalForSelector:需要空实现

时间:2014-02-24 22:23:39

标签: ios objective-c reactive-cocoa

我有一个实现UICollectionViewDelegate协议的类。

我正在使用rac_signalForSelector:注册这样的选择:

[self rac_signalForSelector:@selector(collectionView:didSelectItemAtIndexPath:)]

但只有当我离开collectionView的一个空实现时才会触发:didSelectItemAtIndexPath:像这样:

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
    // Empty
}

我尝试使用rac_signalForSelector:fromProtocol:没有运气。

我正在使用Reactive Cocoa 2.2.4

谢谢, 的Mikkel

1 个答案:

答案 0 :(得分:18)

确保在之前调用-rac_signalForSelector: ,将对象设置为委托。在设置委托对象时,某些Apple框架将检查您的类是否响应某个委托方法选择器,并缓存该信息,因此如果您尚未在此时调用-rac_signalForSelector:并且未明确指定实现该方法,这些委托方法将永远不会被调用。