問題是這樣的:我嘗試了很多方法從SecondViewController傳遞信息到ViewController1。在這第一個ViewController1中,我有一個tableView,並且在這個tableView中,每個單元格都會收到一個圖像和一個標籤。我想要做的是在SecondViewController中,我將在textField中寫入一些東西,並選取一些隨機圖像並將其顯示在ViewController1中。將信息傳遞給自定義TableViewCell - Swift
有人能告訴我該怎麼做嗎?我試過委託,dequeuereusablecell和數據將不會顯示在單元格中。
提前致謝!
編輯
這裏是我的代碼:
的ViewController 1:
進口的UIKit
類FirstViewController:UIViewController的,的UITableViewDelegate,UITableViewDataSource,sendDataToFVCDelegate {
@IBOutlet var tableView: UITableView!
var labelsListArray = [""]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func myVCDidFinish(text: String) {
labelsListArray.append(text)
tableView.reloadData()
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return labelsListArray.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let row = indexPath.row
let textLabel = labelsListArray[row]
var cell = tableView.dequeueReusableCellWithIdentifier("ImageView") as? CustomCellTableViewCell
cell!.cellLabel!.text = textLabel
return cell!
}
}
的ViewController 2:
進口的UIKit
協議sendDataToFVCDelegate { FUNC myVCDidFinish(文本:字符串) }
類SecondViewController:UIViewController的{
var delegate:sendDataToFVCDelegate?
@IBOutlet var textField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func addButton(sender: AnyObject) {
if textField == nil { return }
let name = textField.text
println("\(name)")
if delegate == nil { return }
delegate?.myVCDidFinish(name)
if let navigation = self.navigationController {
navigation.popViewControllerAnimated(true)
}
}
}
TableViewCell:
進口的UIKit
類CustomCellTableViewCell:{UITableViewCell的
@IBOutlet var cellImage: UIImageView!
@IBOutlet var cellLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
我在做什麼錯?現在即使是「popViewControllerAnimated」行也會回到第一個視圖控制器。
非常感謝您的幫助!
使用委託模式是正確的。發佈您的代碼,以便我們可以看到出了什麼問題。 – Dash
我刪除了我的整個代碼。可以發表任何簡單的例子來說明如何做到這一點?也許我錯過了一個細節或任何東西。我會很高興 –
我有一個簡單的項目,可以做類似於你需要的東西:https://github.com/maurovz/MarvelAPIExample – MXV