Я реализовал longPressGesture в своих пользовательских ячейках, и теперь мне нужно получить информацию, хранящуюся в этих ячейках.Swift - Получение информации, хранящейся в пользовательских табличных ячейках
Моя cellForRowAtIndexPath-функция выглядит следующим образом:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{
let longPress: UILongPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: "cellLongPressed:")
longPress.delegate = self
longPress.minimumPressDuration = 1
longPress.numberOfTouchesRequired = 1
let cellID = "cell"
var mcell:CusCell = self.tv.dequeueReusableCellWithIdentifier("cell") as CusCell
mcell.addGestureRecognizer(longPress)
let data = mainList[indexPath.row] as SecondModel
var dateStr:String = String()
dateStr = printDate(data.date)
mcell.mainLabel.text = data.receiver
mcell.recLabel.text = "Message sent at \(dateStr)"
mcell.imageLabel.image = UIImage(named: icons[0])
mcell.messType = messageType
возвращение mcell }
Моя didSelectRowAtIndexPath-функция выглядит следующим образом:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let selectedCell: CusCell = tv.cellForRowAtIndexPath(indexPath) as CusCell
messagType = selectedCell.messType
println(messagType)
}
Мои cellLongPressed-функция выглядит следующим образом:
func cellLongPressed(gestureRecognizer:UIGestureRecognizer) {
if (gestureRecognizer.state == UIGestureRecognizerState.Ended) {
println("STATE ENDED")
//Do Whatever You want on End of Gesture
}
else if (gestureRecognizer.state == UIGestureRecognizerState.Began){
println("STATE BEGAN")
//Do Whatever You want on Began of Gesture
}
}
Теперь, как вы, вероятно, можете догадаться, целое число, хранящееся в «selectedCell.messType», никогда не печатается. Я действительно не понимаю, почему это не должно работать, является ли мое объявление «selectedCell» неправильным?
Любые предложения будут оценены.
Вы не показать, где 'messType' получает множество, и вы ничего с длинной пресс распознаванью не делаете. Можете ли вы добавить дополнительную информацию к вопросу, например, как и весь метод cellForRow? – jrturton
Как общее предложение, не храните данные в ячейках. Ячейки отображают данные из вашей модели, они не должны использоваться для хранения вещей. – jrturton
@jrturton Мои функции теперь добавлены, я надеюсь, что это станет более ясным. – martin