【发布时间】:2019-06-02 01:49:36
【问题描述】:
我正在开发一个应用程序,我为应用程序的每个功能创建了模块。我必须从一个模块 UI 控制器切换到另一个模块 UI 控制器。
我在模块中有 UIController,我将该控制器标记为 Public 访问标识符,如下所示
public class InterAccountTransferViewController: UIViewController {
override public func viewDidLoad() {
......
......
}
}
上面的类还在扩展中实现了 UITextField 委托。当我将上面的类创建为开放访问时,我收到关于 TextField 代表的警告,如下所示
实例方法“textFieldDidBeginEditing”几乎匹配可选 要求协议的“textFieldDidBeginEditing” 'UITextFieldDelegate'
现在不会调用文本字段代表。当我试图通过将代表设为私有来关闭警告时,它们仍然没有被调用。
请让我知道如何消除这些警告并同时致电代表。
任何想法或建议都会很棒。我正在使用 swift 4.2 开发 Xcode 10。如果我需要进一步解释我的问题,请告诉我。
【问题讨论】:
-
确保几点。 - 你有没有像 self.textfield.delegate = self. - public class InterAccountTransferViewController: UIViewController,UItextFieldDelegate { } , - 在上面的警告中,点击黄色条,它必须建议更新委托方法签名。
-
@Sakshi 我已经尝试过了,但没有成功。
-
@RobertDresler 我已经尝试过 at:objc 但没有效果。
标签: ios swift delegates compiler-warnings access-modifiers