3
모든 과목에서 학년을 쓰기 만하면 학교에 필요한 점수를 계산하는 프로젝트를 진행하고 있습니다.UIPickerView는 segue없이 데이터를 전송합니다
나는이 UIPickerView를 사용하여 사용자에게 등급을 알려줍니다. 그런 다음 변수에 저장합니다. 하지만 segue없이 다른 viewcontroller 변수를 보낼 수 없습니다 및 segues 사용하지 않는 싶습니다. 어떻게해야합니까?
이 하나 subjekt 내의 ViewController 수 있습니다 :
segues를 사용하여 뭐가 문제
import UIKit
class Q_A_Religion: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {
@IBOutlet weak var label: UILabel!
@IBOutlet weak var label2: UILabel!
@IBOutlet weak var picker: UIPickerView!
let A: Double = 20.0
let B: Double = 17.5
let C: Double = 15.0
let D: Double = 12.5
let E: Double = 10.0
let F: Double = 0.0
var totaltmeritvärdeIReligion: Double = 0
//förvarar värdet av betyget som man skrivit in
let betygsAltenativ = [" ","A", "B", "C", "D", "E", "F", "-"]
public func numberOfComponents(in pickerView: UIPickerView) -> Int
{
return 1
}
public func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String?
{
return betygsAltenativ[row]
}
public func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int
{
return betygsAltenativ.count
}
public func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
let BetygValt = betygsAltenativ[row]
label.text = betygsAltenativ[row]
switch (BetygValt)
{
case " ":
label2.text = (" ")
break
case "A":
label2.text = ("+ 20p")
totaltmeritvärdeIReligion = Double(A)
case "B":
label2.text = ("+ 17.5p")
totaltmeritvärdeIReligion = Double(B)
case "C":
label2.text = ("+ 15p")
totaltmeritvärdeIReligion = Double(C)
case "D":
label2.text = ("+ 12.5p")
totaltmeritvärdeIReligion = Double(D)
case "E":
label2.text = ("+ 10p")
totaltmeritvärdeIReligion = Double(E)
case "F":
label2.text = ("+ 0p")
totaltmeritvärdeIReligion = Double(F)
case "-":
label2.text = ("+ 0p")
default:
print("Inget betyg valt")
}//switch slutar
func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let nextVC: Totaltmeritva_rde = segue.destination as! Totaltmeritva_rde
nextVC.Religionbetygetskickat = totaltmeritvärdeIReligion
}
}// func pickerView slutar
}//Slutet av allt
제 경우에는 어느 것이 가장 좋습니까? – theswed
이미 거기에 prepareForSegue가 있습니다. 작동하지 않습니까? 재정의해야합니까? performSegue를 부르시고 스토리 보드에서 끝내셨습니까? –
글쎄, 내가 보낸 변수를 출력하려고 시도했지만 그다지 쓸모가 없었습니다. – theswed