我正在使用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)
}
}
}
}
答案 0 :(得分:0)
除非您将其存储为实例变量,否则您无法访问row
。
我认为这是一个不必要的情况。你在那里中途。您已经了解了如何从选择器中检索选定的行索引,并且您已经知道如何根据索引从pickerArray
中选择特定的字符串。只需将两者结合起来:
let myRank = pickerArray[picker.selectedRowInComponent(0)]