Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用NSArray-Swift的UIPicker获取titleForRow_Ios_Swift_Nsarray_Uipicker - Fatal编程技术网

Ios 使用NSArray-Swift的UIPicker获取titleForRow

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

我正在尝试使用下面的UIPickerViewDeleteGate从数组返回对象:

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,因为您有一个字符串数组。除非有什么东西你没有展示出来