我们正在实现一个 iOS 框架,该框架将供第三方开发人员使用。该框架需要为用户登录(LoginView)和配置文件提供几个屏幕。框架有一个 Helper 类,它与服务器 API 交互,例如 connect()、onConnection(),这里的 onConnection() 是使用委托(delegate)的回调方法。
第三方应用程序正在添加我们的框架并使用 LoginView 作为初始屏幕。
当 connect()、onConnection() 是 LoginView 的一部分时,一切正常。
如果 connect()、onConnection() 是 Helper 类的一部分,则不会调用 OnConnection() 回调。
这可以通过实现正确的委托(delegate)方式来解决,我尝试使用 Helper 类作为 LoginView 的委托(delegate)者。但它不起作用。
有人可以帮助我们吗?
最佳答案
尝试以下操作:编辑我之前对给出的建议的回答
- 创建类似于 YourAuthenticationManaged 的委托(delegate)类,并实现 @optional 和 @required 协议(protocol)。
- 为要在内部调用的 Delegate 创建 AuthManager 类,并使用执行选择器响应选择。此 AuthManager 中的示例 [_delegate PerformSelector(@selector:connectionbuilted:)]。
- 将委托(delegate)公开为 AuthManager 的属性。
- 希望 AuthManager 成为单例类。
- 现在,在 View Controller 或基本 View Controller 中的任何位置分配 Authmanager 委托(delegate)属性并将其指定给 View Controller 类。
- 观察 View Controller 中实现类中的委托(delegate)。
- 一旦发出诸如 connect、disconnect 之类的调用,请将 NSLogs 放入 View Controller 内的覆盖委托(delegate)中。
- 一旦在 AuthManager 中调用执行操作,就会触发并观察到这一点。
如果有任何问题请评论,我们很乐意提供帮助。享受编码的乐趣。
关于iOS框架中的委托(delegate)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43295101/