swift - 在 Swift 中键入 [String] 的 String 类型的值

标签 swift

也许有人可以帮助我。我从 IOSCcreator 复制了项目“向 TableView 添加行”。现在我更改了可以使用 pickerview 添加项目的文件。在第 44 行 (pickOption = carName.text) 它失败了:

Cannot assign a value of type String to a value of type [String].

尝试了很多东西,但没有任何效果。

import UIKit

class CarDetailViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {

  @IBOutlet weak var carName: UITextField!
  var pickOption = ["Opel", "Mercedes", "Hyundai", "Kia"]

    override func viewDidLoad() {
        super.viewDidLoad()

        var pickerView = UIPickerView()
        pickerView.delegate = self
        carName.inputView = pickerView
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
        return 1
    }
    func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        return pickOption.count
    }
    func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
        return pickOption[row]
    }
    func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        carName.text = pickOption[row]
    }
    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "doneSegue" {
           pickOption = carName.text
        }
    }
    override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
        self.view.endEditing(true)
    }
}

最佳答案

因为 pickOption 是一个数组而 carName text 是一个字符串,你有两个选择:

  • carName 添加到数组中,在这种情况下,您可以执行 pickOption.append(carName.text)
  • 用单个项目替换旧列表,在这种情况下,您可以执行 pickOption = [carName.text]

关于swift - 在 Swift 中键入 [String] 的 String 类型的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31762673/

相关文章:

swift - SwiftOCR 构建问题

ios - 如何在 Swift 中调试 "Use of unresolved identifier"?

ios - 当用户触摸图像时切换图像

未调用 UITableView 方法 cellForRowAtIndexPath

ios - 屏幕截图显示为空白 - Swift

ios - ViewController 被推送到 UINavigationController 后立即弹出

swift - Kotlin 有类似 Swift Optional 的类型吗?

ios - 词法或预处理器问题 Xcode 9.1

ios - 错误 : An appName, 密码重置和电子邮件验证功能需要 publicServerURL 和 emailAdapter

ios - 我无法在 iOS 15 的 WidgetConfiguration 中添加 systemExtraLarge 系列