當我單擊按鈕時,我試圖將表格視圖單元格屬性顯示到不同的表格視圖單元格中。我正在使用故事板。我添加了水平和垂直堆疊以包含影像和標簽屬性。當用戶單擊顯示按鈕時,我想將此屬性顯示到另一個表格視圖單元格中。在 cellFor 行函式中,我定義了按鈕操作屬性。我收到以下錯誤。'DetailsViewCell' 類沒有初始化器。不能在屬性初始化器中使用實體成員“mc”;屬性初始化程式在“自我”可用之前運行
這是兩個視圖控制器的螢屏截圖。
這是代碼。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// guard let cell = tableView.dequeueReusableCell(withIdentifier: MovieCell.identifier, for: indexPath) as? MovieCell
// else { return UITableViewCell() }
let cell = tableView.dequeueReusableCell(withIdentifier: MovieViewCell.identifier, for: indexPath) as! MovieViewCell
cell.showButton.tag = indexPath.row
cell.showButton.addTarget(self, action: Selector("movieDetails"), for: .touchUpInside)
let row = indexPath.row
let title = presenter.getTitle(by: row)
let overview = presenter.getOverview(by: row)
let data = presenter.getImageData(by: row)
cell.configureCell(title: title, overview: overview, data: data)
return cell
}
}
這是帶有表格視圖單元格的識別符號類中的代碼。
class MovieViewCell: UITableViewCell {
static let identifier = "MovieViewCell"
@IBOutlet weak var mainStackView: UIStackView!
@IBOutlet weak var movieImage: UIImageView!
@IBOutlet weak var movieTtile: UILabel!
@IBOutlet weak var movieOverview: UILabel!
@IBOutlet weak var showButton: UIButton!
@IBAction func movieDetails(_ sender: UIButton) {
var dc : DetailsViewCell
movieTtile = dc.movieTitle
movieOverview = dc.movieOverview
movieImage = dc.movieImage
}
func configureCell(title: String?, overview: String?, data: Data?) {
movieTtile.text = title
movieOverview.text = overview
if let imageData = data{
movieImage.image = UIImage(data: imageData)
}
}
}
這是詳細資訊視圖單元格的代碼。
class DetailsViewCell: UITableViewCell {
@IBOutlet weak var movieTitle: UILabel!
@IBOutlet weak var movieOverview: UILabel!
@IBOutlet weak var movieImage: UIImageView!
var mc : MovieViewCell
movieTitle = mc.movieTtile
movieOverview = mc.movieOverview
movieImage = mc.movieImage
}
uj5u.com熱心網友回復:
import UIKit
var loginData = ["", "", ""]
class LoginDataCell: UITableViewCell, UITextFieldDelegate {
@IBOutlet weak var txtLoginData: 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
}
func textFieldDidEndEditing(_ textField: UITextField) {
if textField.tag == 0 {
loginData[0] = textField.text
} else if textField.tag == 1 {
loginData[1] = textField.text
} else if textField.tag == 2 {
loginData[2] = textField.text
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/430537.html