swift - 在 swift 4 中转换 Objective C 代码
问题描述
如何快速转换目标 C 代码
NSString *responseString = [mtSCRALib getResponseData];
NSData *responseData = [responseString dataUsingEncoding:NSASCIIStringEncoding];
NSString *encodedString = [NSString stringWithFormat:@"enc://%@", [^] [responseData base64Encoding]];
我试过这个
var responseString = self.mtSCRALib.getResponseData()
var responseData: Data? = responseString?.data(using: .ascii)
但我不知道如何转换第三行
解决方案
试试这个第三行:
if let responseData = responseString?.data(using: .ascii) {
let encodedString = "enc://\(responseData.base64EncodedString())"
// print(encodedString)
}
在使用它之前,您需要检查是否responseData
不是- 这就是它的用途。nil
if let ... = ...
推荐阅读
- javascript - 如何让用户在我的网站上通过 Messenger 互相写信?
- webpack - 使用 next-compose-plugins 为 PDF 自定义 webpack 配置
- embedded-linux - 嵌入式 linux 上带有 modemmanager 和 networkmanager 的 USB 调制解调器 (yocto dunfell)
- oracle - 我需要转换 oracle 表数据,将 1 列值固定为标识符,将所有其他列名和值作为单行
- bash - Tcl 脚本中的 exec 命令静默执行
- nginx - NGINX:如何正确使用 IF 语句来包含 proxy_pass
- java - 使用 MS Graph 列出已删除的频道
- netty - Channel 上的操作与 ChannelHandlerContext 上的操作有什么区别
- c++ - 在 QJsonObject 中修改 QJsonArray?
- android - 当应用程序在 Android 设备上运行时,如何以编程方式获取用于安装的 APK 文件的名称?