swift - 如何通过 Swift 4 中的发件人检索 userData?
问题描述
如果没有收到错误“'Any' 的值没有下标”,我似乎无法检索发送的发件人数据。
这似乎是一个新错误,因为这是我一直这样做的方式,我找不到有关如何修复它的信息。
let selector = #selector(self.updatePoint(sender:))
Timer.scheduledTimer(timeInterval: 1,
target: self,
selector: selector,
userInfo: ["index": 3, "tempPoint": tempPoints[3]],
repeats: false)
@objc func updatePoint(sender: Timer) {
guard let index = sender.userInfo?["index"] as? Int else {return} // Error: Value of 'Any' has no subscripts
...
}
解决方案
userInfo
是Any
您需要先将其转换为的类型[String:Any]
guard let info = sender.userInfo as? [String:Any],let index = info["index"] as? Int else {return}
推荐阅读
- saxon - 间歇性错误“尝试编译样式表时出错”
- next.js - Nextjs 应用程序在开发模式下按预期工作,但当我尝试“npm run build”并出现 Entrymodulenotfound 错误时失败
- netflix-eureka - 命中端点时出现异常:负载均衡器没有可供客户端使用的服务器
- python - 处理和清理非结构化数据
- r - R-pkgs Roxygen \varphi 无法渲染
- powershell - 使用 EXO v2 PS 模块在线连接到 Exchange - 本周开始出现问题
- c++ - c++ 类中的函数指针引发编译器错误
- reactjs - 在 React 项目中使用 Material ui 和 Tailwind css
- linux - 从 USB 设备加载根文件系统
- java - 如何转换 AWS Lambda 为 AWS Batch 创建图像