У меня есть этот подкласс UICollectionViewCell, и я пытаюсь передать значение ячейке, когда я ее инициализирую.Параметр пропуска при инициализации UICollectionViewCell
class AddItemCell: UICollectionViewCell {
var addItemButton = UIButton()
var collectionElement : PFObject?
override init(frame: CGRect) {
super.init(frame: frame)
addItemButton = UIButton.buttonWithType(UIButtonType.Custom) as! UIButton
addItemButton.frame = CGRectMake(0, 0, 170, 300)
addItemButton.backgroundColor = UIColor.redColor()
addItemButton.addTarget(self, action: "addItemToCollectionElement:", forControlEvents: UIControlEvents.TouchUpInside)
addItemButton.setTitle("New Item", forState: UIControlState.Normal)
addItemButton.titleLabel!.font = UIFont(name: "Cochin-BoldItalic", size: 20)
self.addSubview(addItemButton)
}
init (frame: CGRect, passedCollectionElement : PFObject){
self.collectionElement = passedCollectionElement
super.init(frame: frame)
}
func addItemToCollectionElement (sender : UIButton!) {
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
}
Очевидно, что вызываемый метод является переопределенным. Есть ли способ вызвать второй/любой другой способ передачи значения переменной?
Код создает ошибку на self.init (frame: frame). В нем говорится: «Отсутствует аргумент для параметра passCollectionElement при вызове» – Alessandro
Если я делаю self.init (frame: frame, passCollectionElement: passCollectionElement), то первая строка вызывает ошибку: «использование self в инициализаторе делегата до того, как self.init вызывается», – Alessandro
Отредактированный мой ответ: self.init (frame: frame) должен быть вызван перед установкой элемента коллекции –