我想使用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