我正在加载一个文本文件,编码未知,因为它来自其他来源。内容本身来自 macOS NSDocument 的read方法,该方法被输入到我的模型的 read 中。String构造函数在使用 Data 时需要编码,如果您假设不正确,您可能会得到null。我已经创建了潜在编码的条件级联(这就是其他人似乎正在做的事情),必须有更好的方法来做到这一点。建议?
override func read(from data: Data, ofType typeName: String) throws {
model.read(from: data, ofType: typeName)
}
Run Code Online (Sandbox Code Playgroud)
在模型中:
func read(from data: Data, ofType typeName: String) {
if let text = String(data: data, encoding: .utf8) {
content = text
} else if let text = String(data: data, encoding: .macOSRoman) {
content = text
} else if let text = String(data: data, …Run Code Online (Sandbox Code Playgroud) 打开 APK 文件后,我发现了 Kotlin 代码,而不是 Dart 代码。打开 IPA 文件后,发现 Swift 代码而不是 Dart。
Dart 代码会发生什么情况?是否已转译为原生 SDK 语言?
如果是这样,libflutter.so 和 libapp.so 有什么用?假设应用程序现在是本机的,为什么它仍然需要 Dart 运行时?