Неоднозначное использование resignFirstResponder () - PullRequest
0 голосов
/ 22 апреля 2020

Привет, у меня есть эта функция:

extension UIApplication
{
    func resignFirstResponder()
 {sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil) }
}

И когда я пытаюсь использовать это так:

UIApplication.shared.resignFirstResponder()

Я получил это:

Неоднозначное использование 'resignFirstResponder ()'

Может кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 22 апреля 2020

Проблема в том, что UIApplication уже имеет метод resignFirstResponder() -> Bool, поэтому, когда вы пытаетесь перегрузить этот метод другим вариантом с типом возвращаемого значения Void, компилятор не может определить, какую версию вы пытаетесь вызвать.

Вы можете решить эту проблему, явно указав компилятору ожидать возврата Void, но это приведет к неиспользованному возвращаемому значению, поэтому я бы предпочел переименовать ваш метод.

let void: Void = UIApplication.shared.resignFirstResponder()

Переименованная версия:

extension UIApplication {
    func resignFirstResponderNoReturn() {
        sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
    }
}

UIApplication.shared.resignFirstResponderNoReturn()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...