将字符串转换为NSData并将NSData转换回字符串

时间:2018-09-10 20:29:34

标签: typescript nativescript-plugin

我有以下代码:

typeof
  1. “数据”是包含“ DetErHemmeligt”的打字稿字符串
  2. 第2行打印出“ DetErHemmeligt”
  3. 第4行始终打印出“ <44657445 7248656d 6d656c69 6774>”
  4. 5号线也能正常工作
  5. 第6行崩溃,没有错误日志记录,我在这里尝试了很多事情,例如“ initWithBytesLengthEncoding”,但它一直对我崩溃,我不知道为什么。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在我看来,您正在此处通过NativeScript编写Objective-C代码,这将转换为:

[[NSString new] initWithData:nsData encoding:NSUTF8StringEncoding];

问题是您的对象已经初始化。实际上,objective-c中的new调用是alloc后跟init的简写。

[[[NSString alloc] init] initWithData:nsData encoding:NSUTF8StringEncoding];

由于无法两次init对象,因此您的应用程序崩溃了。相反,请尝试使用alloc

NSString.alloc().initWithDataEncoding(nsData, NSUTF8StringEncoding);