首页 > 解决方案 > 在 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)

但我不知道如何转换第三行

标签: swift

解决方案


试试这个第三行:

if let responseData = responseString?.data(using: .ascii) {
    let encodedString = "enc://\(responseData.base64EncodedString())"
    // print(encodedString)
}

在使用它之前,您需要检查是否responseData不是- 这就是它的用途。nilif let ... = ...


推荐阅读