目标C切断绳子的最后一部分

Objective C cuts off last part of string

本文关键字:最后 一部分 目标      更新时间:2023-09-26

我们正在为cordova开发一个插件,我们希望构建一个从本地代码运行的回调javascript。

到目前为止的总结,这里是问题:

NSString *js = [NSString stringWithFormat:@"project.notificationCallback('%@',%@);",uuidString , value];

这应该构建以下示例:

"project.notificationCallback('uuid-uuid-uuid-uuid-uuid',1);"

它不是只返回我们想要的结果,而是返回:

"project.notificationCallback('uuid-uuid-uuid-uuid-uuid',1"

所以它只是切断了字符串的最后一部分,当我们这样做时:

NSString *js = [NSString stringWithFormat:@"alert('jemoeder')"];

这一切都很好,所以我们认为这和%@和字符无法转义有关。

房子里有一个obj-c专家知道如何转义这些字符吗?还是字符串太长了几个字符?

如果我执行相同的字符串WithFormat操作,我会得到:project.notificationCallback('uid-uuid-uuid-uuid',1);

您确定NSString*js已经包含意外结果吗?稍后代码中的某些内容可能会限制字符串的长度。

至于NSString问题的最大长度,如果你在这个网站右上角的搜索框中发布了"NSString最大长度",你就已经有了答案(第一个结果)。此外,我建议不要在你的代码示例中提及自己的母亲。

因此已在中找到错误

结果是从蓝牙gatt服务接收到一个数据块。这总是8个字节。

因此十六进制表示为:

0x3100000

转换为字符串意味着值后面有3个NULL字节,这将停止NSString格式化程序的解析。

摆脱了这些小混蛋,它又开始工作了。

谢谢各位。