需要两次调用相同的函数,但收到“无效重新声明”错误

时间:2016-10-05 08:29:57

标签: ios swift xcode redeclaration

func textFieldShouldReturn(_ textfield: UITextField) -> Bool{
        p1s1TextField.resignFirstResponder()
        return true
}

func textFieldShouldReturn(_ textfield: UITextField)-> Bool{
        p2s1TextField.resignFirstResponder()
        return true
}

所以这是我需要编写的代码,唯一的区别是它们会影响两个不同的文本字段。我知道我需要更改发件人以避免重新声明错误,但我不确定要将其更改为。

2 个答案:

答案 0 :(得分:4)

只需使用其中一个,class ParentController<T: Object>: UITableViewController { var dataSource: AnyRealmCollection<T>! func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return dataSource.count } } class ChildController: ParentController<MyModel> { override func viewDidLoad() { super.viewDidLoad() dataSource = AnyRealmCollection(realm.objects(MyModel.self)) } } 就是您当前的parameter textfield

所以:

textfield

答案 1 :(得分:1)

尝试根据不同的文本字段使用委托方法。

func textFieldShouldReturn(_ textfield: UITextField) -> Bool{
    if textfield == p1s1TextField {
        p1s1TextField.resignFirstResponder()
    }else if textfield == p2s1TextField {
        p2s1TextField.resignFirstResponder()
    }
        return true
}