当前位置: 首页 > 面试题库 >

如何在Swift中从NSData初始化字符串

华安民
2023-03-14
问题内容

我一直在尝试从NSDataSwift中初始化一个字符串。

苹果在NSString
Cocoa文档
中说您必须使用以下代码:

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

但是,苹果没有提供任何用法或放置示例的示例init

我正在尝试将以下代码从Objective-C转换为Swift

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

我一直在尝试许多可能的语法,例如以下语法(当然它不起作用):

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)

本文档说明了语法。



 类似资料:
  • 问题内容: 为了将另一个问题分解为更小的部分,我尝试设置所有TextKit组件。但是,更改初始化方法后,我崩溃了。出于测试目的,我将该项目简化为以下内容: 崩溃时出现异常代码EXC_I386_GPFLT。该代码不是很明确。基本问题似乎归结为我如何初始化。 如果我更换 有了这个 然后就可以了。我究竟做错了什么? 问题答案: 看来,做事的方法是将NSLayoutManager添加到NSTextStor

  • 问题内容: 我正在跟踪Swift和Objective-C Runtime,它适用于常规方法。 我喜欢使用init方法,据我了解,init就像一个类方法。因此,我尝试将初始化作为实例和类方法。但这似乎不起作用 我可以使用Objective C使其工作,只是想知道如何在Swift中使其工作 摘录自我的要旨 问题答案: 为方法创建选择器时,应使用Obj C方法签名作为选择器的基础,因为使用Obj C运行

  • 如果String和其他类一样,那么如何使用双引号初始化它?

  • 问题内容: 我无法使用AECoreDataUI的CoreDataTableViewController中的 Swift 3在iOS 10中进行初始化。 编译器抱怨 控制器现在正使用通用类型进行快速处理,但未正确推断实体类型。我已经明确尝试过: 也没有运气。 谢谢! 问题答案: 现在是通用的。也是通用的。因此,在声明变量时,必须使用通用声明,例如:

  • 问题内容: 如果String和其他字符串一样是一个类,如何使用双引号将其初始化? 问题答案: Java的设计者决定保留面向对象语言中的原始类型,而不是将所有内容都变成对象,以提高语言的性能。原语存储在调用堆栈中,这需要较少的存储空间,并且操作成本较低。另一方面,对象存储在程序堆中,这需要复杂的内存管理和更多的存储空间。 出于性能原因,Java的String设计为介于基本体和类之间。 例如 注意:

  • 问题内容: 我的下面的代码当机(调试错误!R6010 abort()已被调用)。你能帮助我吗?我也想知道如何从字符串值初始化json对象。 问题答案: 您好,这很简单: 1-您需要一个CPP JSON值对象(Json :: Value)来存储数据 2-使用Json Reader(Json :: Reader)读取JSON字符串并解析为JSON对象 3-做你的东西:) 这是执行这些步骤的简单代码: