Ios 范围和数组有问题

Ios 范围和数组有问题,ios,xcode,swift,uipickerview,uipickerviewcontroller,Ios,Xcode,Swift,Uipickerview,Uipickerviewcontroller,嗨,我正在开发一个带有Parse的应用程序,当用户创建一个帐户时,会有一个UIPickerView,用户必须从中选择不同的字符串。我试图把他们的选择保存在一个字符串中。 我已经让它工作,但这节省了一个数字,而不是字符串 let myRank = picker.selectedRowInComponent(0) 当我尝试 let myRank = pickerArray[row] 我得到一个错误,说“使用未解析的标识符”行。 我猜这是因为范围,但我不知道如何解决它 这是我的密码: let pi

嗨,我正在开发一个带有Parse的应用程序,当用户创建一个帐户时,会有一个UIPickerView,用户必须从中选择不同的字符串。我试图把他们的选择保存在一个字符串中。 我已经让它工作,但这节省了一个数字,而不是字符串

let myRank = picker.selectedRowInComponent(0)
当我尝试

let myRank = pickerArray[row]
我得到一个错误,说“使用未解析的标识符”行。 我猜这是因为范围,但我不知道如何解决它

这是我的密码:

let pickerArray: NSArray = ["- Välj din kompetens -", "Assistent", "Instruktör", "Biträdande Kurschef", "Kurschef"]

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
    return 1
}

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return pickerArray.count
}

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
    return "\(pickerArray[row])"
}

func pickerView(pickerView: UIPickerView!, didSelectRow row: Int, inComponent component: Int)
{
    // selected value in Uipickerview in Swift
    let rank = pickerArray[row]

}

@IBAction func registerButtonPressed(sender: UIButton) {

    let myRank = pickerArray[row]

    var user = PFUser()
    user.username = email
    user.password = password
    user.email = email
    user[PF_USER_RANK] = myRank
    user[PF_USER_EMAILCOPY] = email
    user[PF_USER_FULLNAME] = name
    user.signUpInBackgroundWithBlock { (succeeded: Bool, error: NSError!) -> Void in
        if error == nil {
            PushNotication.parsePushUserAssign()
            ProgressHUD.showSuccess("Succeeded.")
            self.dismissViewControllerAnimated(true, completion: nil)
        } else {
            if let userInfo = error.userInfo {
                ProgressHUD.showError(userInfo["error"] as String)
            }
        }
    }
}

除非将其存储为实例变量,否则无法访问

不过,我认为这是一种不必要的情况。您已经做了一半。您已经发现如何从选择器中检索选定的行索引,并且已经知道如何根据索引从
pickerArray
中选择特定字符串。只需将两者结合起来:

let myRank = pickerArray[picker.selectedRowInComponent(0)]