iOS框架中的委托(delegate)方法

标签 ios swift delegates smartfoxserver

我们正在实现一个 iOS 框架,该框架将供第三方开发人员使用。该框架需要为用户登录(LoginView)和配置文件提供几个屏幕。框架有一个 Helper 类,它与服务器 API 交互,例如 connect()、onConnection(),这里的 onConnection() 是使用委托(delegate)的回调方法。

第三方应用程序正在添加我们的框架并使用 LoginView 作为初始屏幕。

当 connect()、onConnection() 是 LoginView 的一部分时,一切正常。

如果 connect()、onConnection() 是 Helper 类的一部分,则不会调用 OnConnection() 回调。

这可以通过实现正确的委托(delegate)方式来解决,我尝试使用 Helper 类作为 LoginView 的委托(delegate)者。但它不起作用。

有人可以帮助我们吗?

最佳答案

尝试以下操作:编辑我之前对给出的建议的回答

  1. 创建类似于 YourAuthenticationManaged 的​​委托(delegate)类,并实现 @optional 和 @required 协议(protocol)。
  2. 为要在内部调用的 Delegate 创建 AuthManager 类,并使用执行选择器响应选择。此 AuthManager 中的示例 [_delegate PerformSelector(@selector:connectionbuilted:)]。
  3. 将委托(delegate)公开为 AuthManager 的属性。
  4. 希望 AuthManager 成为单例类。
  5. 现在,在 View Controller 或基本 View Controller 中的任何位置分配 Authmanager 委托(delegate)属性并将其指定给 View Controller 类。
  6. 观察 View Controller 中实现类中的委托(delegate)。
  7. 一旦发出诸如 connect、disconnect 之类的调用,请将 NSLogs 放入 View Controller 内的覆盖委托(delegate)中。
  8. 一旦在 AuthManager 中调用执行操作,就会触发并观察到这一点。

如果有任何问题请评论,我们很乐意提供帮助。享受编码的乐趣。

关于iOS框架中的委托(delegate)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43295101/

相关文章:

ios - 如何修复 Nil 与预期参数类型 'UIColor' 不兼容

ios - 使用触控板在 TableView 上滚动

ios - 在这种情况下如何避免 Optional.None 错误?

json - Codable 自定义类类型属性无法从 JSON 初始化自己的属性

ios - 委托(delegate)函数 vs 回调函数

ios - 尝试创建协议(protocol),获取时找不到协议(protocol)声明

c# - 如何在 C# 中从字符串调用委托(delegate)?

ios - SQLITE (fmdb) 选择 x 为空的位置不起作用

iOS 通用链接无法按预期工作 - 无论路径如何始终打开

ios - Swift:通过NotificationCenter默认函数参数值