我想使用Interface Builder为滚动视图设置委托。在Interface Builder中使用setDelegate设置委托与区别:?
如果我有这样的代码:
MyScrollViewDelegate * delegate = [[MyScrollViewDelegate alloc] init];
[scrollView setDelegate:delegate];
在viewDidLoad中
,一切完美的作品。
如果我打开Interface Builder,添加一个NSObject并将类设置为MyScrollViewDelegate,然后将scrollView的委托关联到MyScrollViewDelegate的实例并检查viewDidLoad中的[scrollView委托],它看起来像MyScrollViewDelegate的实例,与它互动,设置适当的东西等,看起来不错。
然而,当我滚动卷轴视图中,我得到一个NSInvalidArgumentException:
*** -[NSCFArray scrollViewDidScroll:]: unrecognized selector sent to instance 0x3d319a0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFArray scrollViewDidScroll:]: unrecognized selector sent to instance 0x3d319a0'
所以,问题:
- 是什么设置在Interface Builder委托VS使用setDelegate之间的区别: ?
- 为什么在控制台中显示“[NSCFArray scrollViewDidScroll:]”,而不是[MyScrollViewDelegate scrollViewDidScroll:]?
- 我可能做错了什么?
干杯,我为代表添加了一个IBOutlet。 – Douglas 2010-01-30 00:06:25