0
我有一個從故事板連接的按鈕,我想滾動我的水平滾動集合查看一個項目時,按下。這裏是我想出了代碼:創建一個按鈕滾動UICollectionView
- (IBAction)rightButton:(id)sender {
NSIndexPath *indexPath = [self.collectionView indexPathsForSelectedItems];
NSIndexPath* newIndexPath = [NSIndexPath indexPathForRow:indexPath.row+1 inSection:indexPath.section];
[self.collectionView scrollToItemAtIndexPath:newIndexPath
atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally
animated:YES];
}
但是,這是建立一個崩潰,並顯示錯誤
-[__NSArrayI row]: unrecognized selector sent to instance 0x178232540
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI row]: unrecognized selector sent to instance 0x178232540'
我懷疑的問題是,這個代碼是更多一個TableView,它不喜歡那裏的公園。
有人可以幫我解決這個問題,並找出爲什麼我得到一個錯誤?有一個更好的方法嗎?
由於
嘿,讓我改變了我的代碼到和它不喜歡的另外有。我得到錯誤'指向接口的指針「id」,這是不是這個架構和平臺的常量大小的錯誤' –
@Deannakov - 是的,它不喜歡這樣的事實,即數組中的對象是' id'。將對象分配(並隱式轉換)爲「NSIndexPath *」有助於編譯器的快樂。我已經更新瞭解釋的答案。 – user3386109
好的 - 這是行得通的,滾動選中項目的右側的一個項目。問題在於它不是*選擇所選項目右側的項目,但這是對我的影響:我的代碼只是在滾動它。謝謝您的幫助!如果你對選擇的改變有深入的瞭解,但我會做一些調查。 –