ユーザーがテーブルビュー内の行をクリックすると、viewcontroller(JobDetailsVC)に移動しようとしています。私はSwift 2で作業をするのとちょっと混乱しています。現在、 '' JobDetailsTableVC.datastruct 'という型の値を割り当てることができないため、' JobDetails 'と入力するとエラーが表示されます。ここでprepareForSegue(Swift 2)でデータを渡す
は
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let JobDetailsViewController = segue.destinationViewController as! JobDetailsVC
if let selectedJobCell = sender as? JobDetailsCell {
let indexPath = tableView.indexPathForCell(selectedJobCell)!
let selectedJob = TableData[indexPath.row]
print(selectedJob)
JobDetailsViewController.Job = selectedJob
}
}
selectedJobが正しく、私は例えばを渡したいデータを割り当てられている私のprepareforsegueのコードです。
datastruct(日付:オプション( "12 Mar 2016")、参照:オプション( "this is a reference")、開始:オプション( "11:38 am")、終了:オプション( "6:40 pm" )、説明:任意(「これは説明です」)、期間:オプション(「7:10」)、ジョブID:オプション(「348」)、トークン:オプション(「11dc886610」)、注:なし) []
datastructは、現在のビューコントローラで
struct datastruct
{
var date:String?
var reference:String?
var start:String?
var end:String?
var description:String?
var duration:String?
var job_id:String?
var token:String?
var notes:String?
init(add: NSDictionary)
{
date = add["date"] as? String
reference = add["reference"] as? String
start = add["start"] as? String
end = add["end"] as? String
description = add["description"] as? String
job_id = add["job_id"] as? String
token = add["token"] as? String
duration = add["duration"] as? String
notes = add["notes"] as? String
}
}
から来て、私はこれを持っている:
私は(JobDetailsVC)にデータを送信したいビューコントローラでvar Job = [JobDetails]()
0私はこれを持っている:
私はクラスclass JobDetails {
var date:String?
var reference:String?
var start:String?
var end:String?
var description:String?
var duration:String?
var job_id:String?
var token:String?
var notes:String?
init(date: String, reference: String, start: String, end: String, description: String, duration: String, job_id: String, token: String, notes: String)
{
self.date = date
self.reference = reference
self.start=start
self.end=end
self.description=description
self.job_id=job_id
self.token=token
self.notes=notes
self.duration=duration
}
}
缶の中で宣言JobDetailsを持って
var Job: JobDetails?
誰も私を助けてください?おかげ
は
エラーが発生したため、JobDetails型の変数にデータ構造を割り当てようとしています: 'JobDetailsViewController.Job = selectedJob'。 datastructとJobDetailsが同じプロパティを持っている場合、両方を持つ理由は何ですか? – beyowulf
答えはありませんが、変数名は小文字で始める必要があります(例: 'let JobDetailsViewController' - >' jobDetailsViewController')。あなたがクラスについて話しているときと、オブジェクトについていつ知っているかは、はるかに簡単になります。私が 'JobDetailsViewController.Job'を読んだ場合、' JobDetailsViewController'というクラスの 'Job'列挙型/構造体を参照していると仮定します。 – EmilioPelaez
ありがとう@beyowulf、あなたは正しいので、これで問題を解決できました。 JobDetailsクラスを宣言する必要はありませんでした。 – Jarrow