首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >resignFirstResponder()的歧义用法

resignFirstResponder()的歧义用法
EN

Stack Overflow用户
提问于 2020-04-22 12:03:45
回答 1查看 130关注 0票数 0

嗨,我有这个功能:

代码语言:javascript
复制
extension UIApplication
{
    func resignFirstResponder()
 {sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil) }
}

当我试图像这样使用它时:

代码语言:javascript
复制
UIApplication.shared.resignFirstResponder()

我拿到了这个:

含糊地使用'resignFirstResponder()‘

有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2020-04-22 12:16:19

问题是UIApplication已经有了一个resignFirstResponder() -> Bool方法,所以当您试图用另一个带有Void返回类型的变量重载该方法时,编译器无法确定您要调用的版本。

您可以通过显式地告诉编译器期望Void返回来解决这个问题,但是这会导致一个未使用的返回值,所以我建议重命名您的方法。

代码语言:javascript
复制
let void: Void = UIApplication.shared.resignFirstResponder()

改名版本:

代码语言:javascript
复制
extension UIApplication {
    func resignFirstResponderNoReturn() {
        sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
    }
}

UIApplication.shared.resignFirstResponderNoReturn()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61364688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档