如何在更改视图时使UITextField不可编辑?

时间:2016-07-29 10:02:15

标签: ios swift uitableview

我创建了一个自定义单元格并声明了文本字段并使其不可编辑

class SuppliersCutomTableViewCell: UITableViewCell {

    /*Input*/

    @IBOutlet weak var compNameField:UITextField!
    @IBOutlet weak var companyTypeField: UITextField!
    @IBOutlet weak var emailField: UITextField!
    @IBOutlet weak var numberField: UITextField!
    @IBOutlet weak var addressField: UITextField!

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
        compNameField.userInteractionEnabled = true
        compNameField.enabled = false

         func edit() {
        compNameField.userInteractionEnabled = true
        compNameField.enabled=true
        print("edit")

    }
}

当我来到另一个班级时,我试图让它在这里可编辑。

class SuppliersViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {

    func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]?
    {
let edit = UITableViewRowAction(style: UITableViewRowActionStyle.Normal, title: "Edit"){(UITableViewRowAction,NSIndexPath) -> Void in

            if indexPath.row == 0{

                SuppliersCutomTableViewCell().edit()
            }       
     }    
}

当我调用方法SuppliersCutomTableViewCell().edit()时,它显示错误:

  

致命错误:在解包可选值时意外发现nil

有人可以为此显示一些示例代码吗?

1 个答案:

答案 0 :(得分:1)

您的某些选项似乎已经未初始化。因此,在展开时,您将获得nil。在使用之前,请尝试检查您是否已初始化您的选项。