无法使用“(T,来自:数据)”类型的参数列表调用“解码”

2023-12-02

我正在尝试创建一个函数,该函数根据传递给它的自定义 JSON 模型接受“Codable”类型的参数。错误 :

 Cannot invoke 'decode' with an argument list of type '(T, from: Data)'

发生在解码线上,函数如下:

static func updateDataModels <T : Codable> (url: serverUrl, type: T, completionHandler:@escaping (_ details: Codable?) -> Void) {

guard let url = URL(string: url.rawValue) else { return }

URLSession.shared.dataTask(with: url) { (data, response, err) in

    guard let data = data else { return }

    do {
        let dataFamilies = try JSONDecoder().decode(type, from: data)// error takes place here

        completionHandler(colorFamilies)

    } catch let jsonErr {
        print("Error serializing json:", jsonErr)
        return
    }
    }.resume()
}

这是用于函数参数中“类型”值的示例模型(为了节省空间而变得更小):

struct MainDataFamily: Codable {

    let families: [Family]

    enum CodingKeys: String, CodingKey {

        case families = "families"
    }
}

类型的类型T是它的元类型T.Type,因此 函数参数必须声明为type: T.Type.

您可能还想让完成句柄采用类型的参数T代替Codable:

static func updateDataModels <T : Codable> (url: serverUrl, type: T.Type,
         completionHandler:@escaping (_ details: T) -> Void) 

调用该函数时,使用.self将类型作为 争论:

updateDataModels(url: ..., type: MainDataFamily.self) { ... }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用“(T,来自:数据)”类型的参数列表调用“解码” 的相关文章

  • iOS 15 中表视图标题上方的额外填充

    如何更改上面的额外填充UITableViewiOS 15 中开始出现的节标题 从 iOS 15 开始 UITableView包含一个名为的新属性sectionHeaderTopPadding https developer apple co
  • UICollectionView 上的 UIRefreshControl 仅当集合填充容器的高度时才起作用

    我正在尝试添加一个UIRefreshControl to a UICollectionView 但问题是 除非集合视图填满其父容器的高度 否则刷新控件不会出现 换句话说 除非集合视图足够长需要滚动 否则无法将其下拉以显示刷新控制视图 一旦集
  • 如何在 iPhone 中以编程方式访问保存的图像中的图像而不使用 UIimagePickerController?

    我知道如何让用户从 UIImagePickerController 选择图像 但我不想要那样 我只想将 NSArray 图像存储在手机中 但我不想让用户参与 选择一个然后拥有该图像 相反 我创建了自己的自定义图像选择器控制器并希望有画廊作为
  • #import "xxx" 和 #import 有什么区别? [复制]

    这个问题在这里已经有答案了 可能的重复 include 和 include 文件名 有什么区别 https stackoverflow com questions 21593 what is the difference between i
  • 所有 UI 前面的透明 UIImageView

    首次启动我的应用程序后 我想向用户展示一些教程 以解释我的应用程序的功能 所以我需要设置一个带有一些箭头和标签的透明 UIImageView 其中主 UI 更具体地说 tabbarcontroler 中的 navigationviewcon
  • 使用 Swift 导入 aurioTouch 库

    我正在尝试将 Objective C 应用程序转换为 swift 我想导入课程奥里奥触摸 https developer apple com library ios samplecode aurioTouch Introduction In
  • 什么是 iBeacon 蓝牙配置文件

    我想使用一些低功耗蓝牙开发套件创建自己的 iBeacon Apple 尚未发布 iBeacon 规范 但是 一些硬件开发人员已根据 AirLocate 示例代码对 iBeacon 进行了逆向工程 并开始销售 iBeacon 开发套件 那么
  • 与在后台运行应用程序的一台设备进行多点连接

    我想使用多点连接框架连接 2 台设备 其中一台设备在后台运行应用程序 就像 Firechat 一样 我无法确认这是否有效 我已将其安装在 iPhone 5S 和 4 上 但是他们只是找不到彼此 但我在某处读过这有效 实现这一目标的最佳方法是
  • Typescript 从传递的函数返回类型推断返回类型

    我可能正在尝试实现不可能的目标 但事情就这样了 我想定义一个函数 function A 它将返回与传递给函数 A 的参数的新函数相同的类型 e g export function test
  • Android 和 iOS 中的应用程序文件大小差异

    通过使用两个应用程序分发服务 Android 市场和 Apple 应用程序商店 我发现了一个谜团 Apple 应用程序的文件大小通常大于 Android 应用程序 我似乎找不到任何对这些差异的解释 而且这似乎是一个未触及的主题 我尝试过分配
  • 推送通知中的设备令牌

    我只想向某些用户发送推送通知 根据我在苹果文档中所经历的内容 注册推送通知的代码是这样的 void applicationDidFinishLaunching UIApplication app other setup tasks here
  • 搜索结果中的 Swift 搜索结果控制器连接到另一个视图控制器

    Problem 我有一个表格视图 用户可以滚动查找某些内容或使用搜索栏 搜索栏不是使用 StoryBoard 创建的 我的观点有一个UISearchController处理搜索栏和搜索结果更新 我遇到的问题是 自从我SearchResult
  • 如何从静态图像中读取二维码

    我知道你可以使用AVFoundation使用设备的摄像头扫描 QR 码 现在问题来了 我该如何从静态中做到这一点UIImage object Neimsz 的 Swift 4 版本answer https stackoverflow com
  • AVAudioRecorder 可以用来录制来自 iOS 应用程序的音频吗?

    我想录制即将到来的音频from我的 iPhone 应用程序 因此 在混合背景音乐和声音效果之后 我想在从设备的扬声器 或耳机 播放音频之前对音频进行采样 我一直在尝试RemoteIO 音频单元 http developer apple co
  • 是否可以快速读取权利文件

    我正在我的应用程序中实现通用深度链接 当我注册不同的域时 它会创建一个 AppName entitlements 文件 我想像 plist 一样读取这个文件的值 I tried if let path NSBundle mainBundle
  • SwiftUI 查看所有视图,包括工作表视图

    我需要根据某些条件在所有视图之上显示一个视图 无论顶视图是什么 我正在尝试以下代码 struct TestView
  • 免费套餐于今天 11 月 28 日结束,Heroku 网站于今天删除 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我的 Heroku 网站已被删除 因为我没有切换到付费计划 我刚刚切换到 Eco Dyno 我的网站会自动恢复还是需要重建 注意 使用 He
  • 如何查看iOS11屏幕录制是否开启?

    为了检测 iOS11 屏幕录制功能的开或关 我使用了 isCaptured 和 UIScreenCapturedDidChange 通知 当我第一次启动应用程序并在 iOS11 内置屏幕录制功能上时 它会通知选择器方法 值为 True 但是
  • 在 HStack 中以正确的方式对齐两个 SwiftUI 文本视图

    我有一个包含两行的简单列表视图 每行包含两个文本视图 查看一和查看二 我想对齐每行中的最后一个标签 查看两个 以便名称标签领先对齐并保持对齐 无论字体大小如何 第一个标签 查看一个 也需要前导对齐 我尝试在第一个标签 查看一个 上设置最小框
  • 将蒙版图像作为 PNG 文件写入磁盘

    基本上 我从网络服务器下载图像 然后将它们缓存到磁盘上 但在这样做之前 我想屏蔽它们 我正在使用每个人似乎都指出的屏蔽代码 可以在这里找到 http iosdevelopertips com cocoa how to mask an ima

随机推荐

  • E/Web 控制台 (8272):在视图分页器中加载 Web 视图时,未捕获引用错误:函数名称未定义:1

    我正在尝试在视图寻呼机中加载网络视图 public View onCreateView LayoutInflater inflater ViewGroup container Bundle savedInstanceState View v
  • 我可以运行 ASPX 并 grep 结果而不发出 HTTP 请求吗?

    如何在没有 URL 和 HTTP 的情况下对一个简单的 ASP NET 文件进行函数调用 并捕获它生成的字节流 更多背景信息 我需要某种模板可以在里面放入一些逻辑 以呈现一些像文本文件一样的 INI 我放弃了那些从Java移植的库 并提出了
  • 将选项卡栏图标颜色从默认蓝色更改为

    我试图将选项卡栏图标颜色从默认的蓝色更改为红色 但收到此错误 程序中出现杂散 342 我在 void recolorItemsWithColor 以及实现部分收到错误 有办法解决这个错误吗 是否有另一种方法可以将标签栏图标从默认蓝色更改为其
  • 将弧度转换为度、分和秒

    我正在寻找一种将 C 语言中的小数转换为度数的方法 例如 C 语言中的 asin 函数返回一个十进制数 但我需要该数字以度 分 秒为单位 例如1 5 就是 1 30 0 The asin函数返回弧度 圆中有 2 弧度 圆有 360 度 一度
  • 如何使用 RavenDB 中的自定义 JSON.NET 转换器反序列化为动态 DLL 中的类型?

    我的 RavenDB 对象是根据动态加载的 DLL 中的类型创建的 我无法将 DLL 加载到当前的执行上下文中AppDomain 因此 JSON 反序列化器无法找到类型 我将如何使用定制转换器使用运行时加载的程序集中的类型 NB I tri
  • 如何创建一个动态相等实现,您可以在其中传递要比较的属性名称?

    假设我有一个具有以下属性的对象 Person public class Person public int ID get set public int EmployeeNo get set public string JobDescript
  • 矢量::插入分段错误

    我有一堂这样的课 classA public classA Here I am doing something but nothing related to vector void updateVec int idx int value H
  • 水平对齐三张图像(只能将它们垂直对齐)

    我似乎真的缺少一些关于如何使用 CSS 在屏幕上的一个块中水平排列三个图像的信息 我似乎只能将它们在页面上排成一长行 当我真的希望它们以水平线穿过屏幕时 我的 div 哪里做错了 或者也许我在 CSS 中被引入歧途 有任何想法吗 太感谢了
  • 为什么在 C++ 中输入 void main() 不好 [重复]

    这个问题在这里已经有答案了 可能的重复 void main 和 int main 之间的区别 Why is void main return void bad 有一天 我输入了此内容 有人向我指出这样做是错误的 我很困惑 我这样写已经有一段
  • 如何在顶点着色器中使用计时器来为 OpenGL 中的点大小设置动画

    我正在尝试实现一个点云 其中不同点的大小应根据与其相关的不确定性值而变化 比方说 如果这个值为零 则大小应该是恒定的 如果它接近 1 则这些点的半径应该变化得越来越大 首先 点的大小应该增加 并且在达到最大值后 它们应该减小直到最小值 依此
  • C++-单例类

    单例类可以被继承吗 如果是 那我们该怎么办呢 编辑 我的意思是说 如果我们有一个使用单例设计模式的类 那么它可以被继承吗 单例有私有构造函数 因此继承是不可能的 除此之外 单例具有实例化私有实例成员的静态方法 并且由于您无法覆盖静态方法 因
  • Python 中带有键的 sort_values()

    我有一个数据框 其中列名称是时间 0 00 0 10 0 20 23 50 现在 它们按字符串顺序排序 因此 0 00 是第一个 9 50 是最后一个 但我想在时间之后对它们进行排序 所以 0 00 是第一个 23 50 是最后一个 If
  • 正则表达式捕获组 swift

    我在字符串中有一个正则表达式搜索方法 extension String func searchRegex regex String gt Array
  • 旋转后恢复倒计时

    我有一个从 60 秒开始倒计时的倒计时器 这个倒计时器通过将文本视图设置为剩余毫秒来工作 但是每当我旋转设备时 倒计时器就会重置 我知道发生这种情况是因为活动会轮流重新启动 因此 我尝试将剩余的时间保存在捆绑包中 然后在活动重新启动后恢复它
  • 使用 SQL 查询查找订购 > x 种产品的客户的详细信息

    请注意 我见过类似的查询here 但认为我的查询足够不同 值得提出一个单独的问题 假设有一个包含以下表的数据库 customer table 包含 customer ID 关键字段 customer name 包含 order ID 关键字
  • 无法使用 Google Calendar Api v3 获取访问令牌

    我正在尝试将日历事件放入日历中 而无需身份验证提示 我读到 使用 OAuth 服务帐户可以让您执行此操作 我已经在我的 Google 开发者控制台中设置了服务帐户 但对此没有任何运气 我们有一个 Google 企业帐户 我将我的委托用户设置
  • 使用 PHP 解析 JSON

    我从服务源中提取了以下 JSON 内容 global event ending at 2011 11 07T02 00 00Z short url http bit ly reAhRw created at 2011 10 04T14 25
  • Android 无法识别 Firebase“createCustomToken”

    我正在实施 使用自定义令牌登录 我在以下位置找到了这段代码Firebase 文档 firebaseAuth createCustomToken uid addOnSuccessListener new OnSuccessListener
  • Jsoup从css获取背景图像路径

    我正在寻找给定网站上的所有图像 为此 我需要找到 css 中的内容 例如 gk crop background image url images style1 g rss 2 png 现在我的问题是如何使用 JSoup 获取所有这些 url
  • 无法使用“(T,来自:数据)”类型的参数列表调用“解码”

    我正在尝试创建一个函数 该函数根据传递给它的自定义 JSON 模型接受 Codable 类型的参数 错误 Cannot invoke decode with an argument list of type T from Data 发生在解