Stu*_*ner 5 components uipickerview ios swift
嗨,我一直试图让这个工作多年没有成功,所以道歉,如果这对你们来说似乎很容易.
我想使用3轮UIPickerView - 第一轮didSelectRow值将用于更改剩余两个轮子的阵列,但它们将与转换应用程序相同.
当填充轮子说Anyobject与String不相同时,它似乎给我一个错误.我看不出有什么不对,但我知道这是我错过的基本内容.
任何指针都将非常感激.
Motty.
// ViewController.swift
// picker test
import UIKit
class ViewController: UIViewController, UIPickerViewDelegate {
@IBOutlet weak var picker1Label: UILabel!
@IBOutlet weak var picker2Label: UILabel!
@IBOutlet weak var bigPicker: UIPickerView!
var wheelContents = []
var length = ["metres","feet","yards","inches","mm","cm","miles"]
var volume = ["m3","US Gall","Imp Gall","Barrels", "cubic FT","litres"]
var conType = ["length","volume"]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
wheelContents = [conType,length,length]
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//For main selection of type of conversion
// returns the number of 'columns' to display.
func numberOfComponentsInPickerView(bigPicker: UIPickerView) -> Int{
return wheelContents.count
}
// returns the # of rows in each component..
func pickerView(bigPicker: UIPickerView, numberOfRowsInComponent component: Int) -> Int{
return wheelContents[component].count
}
func pickerView(bigPicker: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String!{
return wheelContents[component][row]
}
}
Run Code Online (Sandbox Code Playgroud)
你需要告诉 Swift 你的wheelContents数组是一个数组的数组String:
var wheelContents:[[String]] = []
Run Code Online (Sandbox Code Playgroud)
如果你没有明确给出wheelContents一个类型,Swift 会推断出它NSArray是什么给你带来了问题。
| 归档时间: |
|
| 查看次数: |
7012 次 |
| 最近记录: |