신속한 픽커와 관련하여 질문이 있습니다. IOS에서 프로그래밍을 시작했고 Objective-C에 대한 사전 경험이 없었습니다. 우리는 프로젝트 (그리고 총 소유 비용)를 계산해야하고 현재 피커에서 정보를 얻으려고합니다.스위프트에서 픽커 연결하기
문제점 : 다중 배열을 만들고 var 세그먼트이 첫 번째 선택 도구에 있습니다. 그러나 첫 번째 인덱스 "A"를 선택하면 배열 carA가 표시되어야하고 세그먼트 B를 선택하면 carB Array가 표시되어야합니다.
이것은 지금까지 제 코드입니다!. 나는 누군가가 나를 도울 수 있기를 바랍니다 :).
import UIKit
class ViewController: UIViewController, UIPickerViewDelegate {
var segment = ["A","B","C","D","E"]
var kilometers = ["24000","36000","48000"]
var looptijd = ["2 jaar","3 jaar","5 jaar"]
var carA = ["Toyota Aygo","Suzuki Swift"]
var carB = ["Prius","Peugeot 207"]
var carC = ["Lexus ch270","audi a3"]
var carD = ["Lexus..","BMW X6"]
@IBOutlet weak var segmentLabel: UILabel!
@IBOutlet weak var kilometersLabel: UILabel!
@IBOutlet weak var looptijdLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
segmentLabel.text = segment[0]
kilometersLabel.text = kilometers[0]
looptijdLabel.text = looptijd[0]
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 4
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if (component == 0) {
return segment.count
} else {
if(component == 1) {
return kilometers.count
}
if(component == 2) {
return looptijd.count
}
if(component == 3) {
return carA.count
}
}
return component
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
if (component == 0) {
return segment[row]
} else {
if(component == 1) {
return kilometers[row]
}
if(component == 2) {
return looptijd[row]
}
if(component == 3){
return carA[row]
}
return nil // ARE YOU SURE RETURN IT IS NO AFTER CURLY BRACKETS ?
} // THATS WHY YOU SHOULD BETTER INDENT YOUR CODE
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if(component == 0){
var segmentSelected = segment[row]
segmentLabel.text = segmentSelected
} else {
if(component == 1) {
var kilometersSelected = kilometers[row]
kilometersLabel.text = kilometersSelected
}
if(component == 2){
var looptijdSelected = looptijd[row]
looptijdLabel.text = looptijdSelected
}
}
}
}
여기서 계산해야 할 사항은 무엇입니까? –
UIPickerView 외부에 UISegmentedControl이 있고 A, B, C, D를 선택하면 올바른 배열로 pickerView가 다시로드됩니다. – Caroline
'switch' 문을 살펴 보는 것이 좋습니다. – akashivskyy