UITableViewCell이 있고 didSet을 사용하여 UIViewController에 indexPath.row 번호를 보내려하지만 xcode는 다른 것들 (UIViewController에서)의 값을 사용할 때 오류가 발생합니다. nil 오류 : 선택적 값의 래핑을 할 때 예기치 않게 null이 발견되었습니다. 그러나 UIViewController 변수에 인쇄 할 경우 값이 나타납니다. 나는 무엇을 하는가? 감사.UITableViewCell에서 UIViewController로 데이터 전달
class TableViewCellCentral: UITableViewCell, UICollectionViewDelegate, UICollectionViewDataSource {
@IBOutlet weak var CollectionData: UICollectionView!
var send = Int() {
didSet{
ViewController().reload = send
}
}
override func awakeFromNib() {
super.awakeFromNib()
CollectionData.dataSource = self
CollectionData.delegate = self
CollectionData.reloadData()
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 4
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = CollectionData.dequeueReusableCell(withReuseIdentifier: "CellData", for: indexPath) as! CollectionViewCellData
cell.LabelData.text! = "number \(indexPath.row)"
return cell
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let cell = CollectionData.dequeueReusableCell(withReuseIdentifier: "CellData", for: indexPath) as! CollectionViewCellData
send = indexPath.row
CollectionData.reloadData()
}
}
문제는'ViewController()'가보기 컨트롤러가 아닙니다. 여기에서하려고하는 것은 객체 지향 프로그래밍을 다루기 전에 클래스와 인스턴스에 대해 배우고 싶을 수도 있습니다. – matt
이 값 그리기 직사각형을 사용하고 싶습니다. 값은 높이입니다. 나는 UIview에 직접 값을 전달하려고 시도하지만 그렇게 할 수는 없습니다. – nelt