Ios 使用NSArray-Swift的UIPicker获取titleForRow
我正在尝试使用下面的UIPickerViewDeleteGate从数组返回对象:Ios 使用NSArray-Swift的UIPicker获取titleForRow,ios,swift,nsarray,uipicker,Ios,Swift,Nsarray,Uipicker,我正在尝试使用下面的UIPickerViewDeleteGate从数组返回对象: var myArr = NSArray() 向我的数组添加对象 self.myArray = NSArray(objects: "Mr", "Mrs", "Miss", "Ms", "Dr", "Master", "Rev", "Fr", "Atty", "Prof", "Hon") 这是我的代表 func pickerView(pickerView: UIPickerView!, ti
var myArr = NSArray()
向我的数组添加对象
self.myArray = NSArray(objects: "Mr", "Mrs", "Miss", "Ms", "Dr", "Master", "Rev",
"Fr", "Atty", "Prof", "Hon")
这是我的代表
func pickerView(pickerView: UIPickerView!, titleForRow row: Int, forComponent component: Int) -> String! {
var string = NSString(coder: self.myArray.objectAtIndex(row) as NSCoder)
return string
}
但是,这会引发一个异常。我该如何完成这项简单的任务?完全基于您的问题,并且假设没有您没有提到的相关内容,那么就去掉编码员的东西:
func pickerView(pickerView: UIPickerView!, titleForRow row: Int, forComponent component: Int) -> String! {
return self.myArray.objectAtIndex(row) as NSString
}
由于这是一个swift程序,您可能也不应该使用NSArray,因为这会导致类型歧义:
var myArr = ["Mr", "Mrs", "Miss", "Ms", "Dr", "Master", "Rev",
"Fr", "Atty", "Prof", "Hon"]
现在,您的委托方法变得更加清晰:
func pickerView(pickerView: UIPickerView!, titleForRow row: Int, forComponent component: Int) -> String! {
return myArray[row]
}
为什么在委托方法中使用coder:initialiser,因为您有一个字符串数组。除非有什么东西你没有展示出来