我一直在try 初始化Swift中NSData的字符串.

在《NSString Cocoa Documentation人计划》中,苹果说你必须使用这个:

 init(data data: NSData!, encoding encoding: UInt)

然而,苹果没有提供任何关于init的用法或放置位置的示例.

我正在try 将下面的代码从Objective-C转换为Swift

NSString *string;
string = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];

我一直在try 很多可能的语法,比如下面的语法(当然不起作用):

var string:NSString!
string = init(data: fooData,encoding: NSUTF8StringEncoding)

推荐答案

以下是初始化NSString的方式:

Swift 2.X或以上

let datastring = NSString(data: fooData, encoding: NSUTF8StringEncoding)

Swift 3或更新版本:

let datastring = NSString(data: fooData, encoding: String.Encoding.utf8.rawValue)

This doc解释了语法.

Swift相关问答推荐

为什么不能使用actor作为AsyncSequence中的状态机类型?

是否有一个Kotlin等价的Swift s @ AddendableReport注释'

如何设置两个不同的视图模型以在我的SwiftUI应用程序中使用相同的数据源?

如何使用变量 Select 哪个向量(?)在我的 struct 中密谋吗?

在Xcode SWIFT中运行用Ionic编写的函数

MacOS 13-如何使用SwiftUI创建Message.App设置工具栏?

如何偏移HStack中的视图,但仍然约束框架以与偏移匹配?

是否可以使用一个 NSRegularExpression 同时判断字符串格式并提取子字符串?

表视图插座单元测试失败

应该在ViewModel还是ViewController中使用"Task {}"?

为什么这段Swift读写锁代码会导致死锁?

为什么我在我的 Swift iOS 应用程序项目中收到 Xcode 中的错误消息无法识别的 Select 器发送到类?

如何在不将变量转换为字符串的情况下判断变量在 Swift 中是否为 Optional(nil)?

从 iPhone 中的安全飞地获取真正的随机数?

Reality Composer Tap Trigger 问题

无法分配给属性:absoluteString是一个只能获取的属性

如何让 SwiftUI 中的文本在旋转框架的同时侧向显示?

自定义 Google 登录按钮 - iOS

TabView 在切换选项卡时重置导航堆栈

使用 JSONEncoder 对类型为 Codable 的变量进行编码