0
これは私を困惑させ、Iveはチュートリアルとスタック回答のいくつかの方法を試しましたが、それでもまだビルドしていませんでした。テーブルビューsegueで別個のビューに
だから、基本的には:
- Imはコアデータを取得して、配列にそれを置きます。ユーザーは、私がどこにその見るためにいくつかのprint文を置いているathleteDetalView
を見るために、セルをタップするだけで
ありがとうございます。入力いただきありがとうございます。
import UIKit
import CoreData
class athleteViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
//labels
@IBOutlet weak var athleteLabel: UILabel!
//buttons
@IBOutlet weak var athleteCreate: UIBarButtonItem!
@IBOutlet weak var athleteTableView: UITableView!
var athleteArray:[Athlete] = []
var myIndex = 0
override func viewDidLoad() {
super.viewDidLoad()
athleteTableView.delegate = self
athleteTableView.dataSource = self
self.fetchData()
self.athleteTableView.reloadData()
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return athleteArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "athleteName", for: indexPath)
let name = athleteArray[indexPath.row]
cell.textLabel!.text = name.firstName! + " " + name.lastName!
let athleteName = name.firstName!
let lastName = name.lastName!
let age = name.age!
let sport = name.sport!
let email = name.email!
print(athleteName)
print(lastName)
print(age)
print(sport)
print(email)
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
myIndex = indexPath.row
let currentCell
//let storyboard = UIStoryboard(name: "Main", bundle: nil)
//let destination = storyboard.instantiateViewController(withIdentifier: "athleteDetailsViewController") as! athleteDetailsViewController
//let athName = athleteArray[myIndex]
//testdata
//test data
performSegue(withIdentifier: "athleteDetailsSegue", sender: self)
//self.navigationController?.pushViewController(destination, animated: true)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if (segue.identifier == "athleteDetailsSegue") {
var destination = segue.destination as! athleteDetailsViewController
destination.firstNameString = athleteName
destination.lastNameString = lastName
destination.ageString = age
destination.sportString = sport
destination.emailString = email
//destination.getImage = name.image
}
}
func fetchData(){
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
do{
athleteArray = try context.fetch(Athlete.fetchRequest())
}
catch{
print(error)
}
}
実際の問題は何ですか?あなたはこのコードはビルドされていないと言いますが、デバッグのためにprintステートメントを置くと言うので、コンパイルエラーやランタイムエラーが発生するのですか、エラーはまったくありませんか? –
主に、データが実際に変数にロードされているかどうかを確認するためにprintステートメントを使用しました。ただし、他のビューにそれらを送信しません。 Iveはやってみました: let currentCell = tableView.cellForRow(at:indexPath)! UITableViewCellとして それから私が渡したい変数はここで議論したことに従います [link](https://stackoverflow.com/questions/28430663/send-data-from-tableview-to-detailview-swift) –