2016-10-18 4 views
0

Я использую модуль iCarousel в своем CollectionView. Просмотр карусели находится в моем UICollectionViewCell.iCarousel numberOfItemsInCarousel

Мой код следующий.

class CelebrityDetailHeaderCell: UICollectionViewCell, UITextFieldDelegate, SDCycleScrollViewDelegate, iCarouselDataSource, iCarouselDelegate { 

@IBOutlet weak var backgroudLab: UILabel! 
@IBOutlet weak var name_en: UILabel! 
@IBOutlet weak var name_tw: UILabel! 
@IBOutlet weak var intro: UILabel! 
@IBOutlet weak var DetailImg: UIImageView! 
@IBOutlet weak var iCarouselView: iCarousel! 

let screenWidth = UIScreen.mainScreen().bounds.width 
let screenHeight = UIScreen.mainScreen().bounds.height 

override func awakeFromNib() { 
    super.awakeFromNib() 

    iCarouselView.delegate = self 
    iCarouselView.dataSource = self 

    iCarouselView.type = .Linear 
} 

func numberOfItemsInCarousel(carousel: iCarousel) -> Int { 
    return 1 
} 
func carousel(carousel: iCarousel, viewForItemAtIndex index: Int, reusingView view: UIView?) -> UIView { 
    let tempView = UIView(frame: CGRect(x: 0, y: screenWidth/2, width: screenWidth, height: screenWidth/2)) 
    tempView.backgroundColor = UIColor.redColor() 
    return tempView 
} 
func carousel(carousel: iCarousel, valueForOption option: iCarouselOption, withDefault value: CGFloat) -> CGFloat { 
    if option == iCarouselOption.Spacing { 
     return 1.2 
    } 
    return value 
} 

}

Сообщение об ошибке выглядит следующим образом

Согласующего приложение из-за неперехваченное исключение 'NSInvalidArgumentException', причина: «- [NSObject numberOfItemsInCarousel]: непризнанный селектор направлен например 0x7f99bb3734a0 '

Я установил numberOfItemsInCarousel, почему это сообщение об ошибке показало это. Кто-нибудь мне помогает? Благодарю.

+0

Потому что где-то это «NSObject» объект, который принимает команду для вызова 'numberOfItemsInCarousel:', но не объекта 'CelebrityDetailVC'. – Larme

+0

Как добавить iCarousel в коллекцию? –

ответ

0

Обратите внимание, что вам нужно добавить метод dealloc в свою ячейку. Как ваша клетка становится высвобождены и iCarousel делегат называет этот метод в какой-то освобождаться, например вот почему это происходит сбой

написать метод dealloc как этот

- (void)dealloc{ 
    iCarouselView.delegate = nil 
    iCarouselView.dataSource = nil 
} 
+0

Это не сработало. –