微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以将常规<T:Decodable>回调保存在Dict或Array

如何解决是否可以将常规<T:Decodable>回调保存在Dict或Array

我有一种情况,我不想再次调用相同的API。为此,我将回调保存在字典中,并使用URL(URL作为键,回调为值)检查事件时间。

当我尝试在dict中使用泛型回调时,它不接受out类型。任何人都可以让我知道如何保存它。如果不指定类型,我将无法使用它。

例如: 这里的“ T”就像我的学生模型。 在ClassA和ClassB中,我要求同时/一对一地列出学生名单。现在,我将在两个类中得到相同的响应。我正在使用一种方法(即“ request()”)从apimanager类为所有API调用调用Alamofire。如果我没有在requesr()方法中保存回调,该如何通过解码将学生数据发送回classA和ClassB。

在将数据发送回类之后,我将删除保存的回调。

typealias requestCallback<T : Decodable> = (T?) -> Void

class apimanager {

  var totalRequest : [String : [requestCallback]] = [:] as! [String : [requestCallback]]
}

解决方法

签出NSURLCachehttps://nshipster.com/nsurlcache/

,而不是自己滚动

数量众多的开发人员已经为网络缓存功能破解了一个笨拙,脆弱的系统,所有这些都是因为他们不知道NSURLCache可以分两行进行设置,并且可以做得更好100倍。甚至更多的开发人员从未知道网络缓存的好处,也从未尝试过解决方案,从而导致他们的应用向服务器发出无数的不必要请求。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。