Ich möchte Daten der Tabellenansicht Zelle in der Sammlungsansicht verwenden. Diese sind in demselben Controller. Wie kann ich das machen ? Wenn ich dies versuche, kommt Delegate nil und nichts passiert. Novermind CellForRowAtIndexPath, NumberOfRowsInSection-Methoden.Wie kann ich es über Delegate und Protokoll beheben?
protocol DataDelegate {
func dataInfo(survey:Survey)
}
import UIKit
class SurveyViewControllerLeftTableView: UITableView,UITableViewDataSource,UITableViewDelegate {
var survey = [Survey]()
var myDelegate : DataDelegate?
override func awakeFromNib() {
self.dataSource=self
self.delegate=self
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
myDelegate?.dataInfo(survey[(indexPathForSelectedRow?.row)!])
}
}
import UIKit
class BottomCollectionView: UICollectionView,UICollectionViewDataSource,UICollectionViewDelegate,DataDelegate {
var surveyBottomCollection = [Survey]()
override func awakeFromNib() {
super.awakeFromNib()
self.delegate = self
self.dataSource = self
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return surveyBottomCollection.count
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell : BottomCollectionViewCell = dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as! BottomCollectionViewCell
cell.surveyQuestionNumberLabel.text = surveyBottomCollection[indexPath.row].questionNumber
cell.surveyQuestionDescriptionLabel.text = surveyBottomCollection[indexPath.row].questionDescription
return cell
}
func dataInfo(survey: Survey) {
print(survey.questionDescription)
surveyBottomCollection.append(survey)
self.reloadData()
}
Tolga, was ich hier verstehe, dass Sie 'CollectionView' Cell in' UITableView' wiederverwenden müssen, aber ich denke nicht, dass es direkt wie oben erwähnt Code funktioniert. Sie müssen eine 'UITableView'-Zelle erstellen und in der Sammlungsansicht Daten zuweisen, die Sie in dieser Zelle haben möchten. – CodeChanger
Ich habe bereits UITableView Cell erstellt, wie kann ich zuweisen? Kannst du mir ein einfaches Beispiel geben? Ich bin verwirrt. –
lassen Sie mich Ihnen erklären, gibt es Ansichten, Sammlung und Tabelle in einem Controller. Ich möchte, wenn ich auf die Zelle der Tabellenansicht alle Informationen innerhalb klicken, um die Daten der Daten der Sammlungsansicht zu senden. –