Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Swift(iOS)将可编辑的4.0数据转换为可用信息_Ios_Swift_Arduino_Bluetooth Lowenergy - Fatal编程技术网

使用Swift(iOS)将可编辑的4.0数据转换为可用信息

使用Swift(iOS)将可编辑的4.0数据转换为可用信息,ios,swift,arduino,bluetooth-lowenergy,Ios,Swift,Arduino,Bluetooth Lowenergy,这是我第一个使用swift的BLE项目,非常感谢你们的指导。我的arduino正在使用一个红熊实验室的微型计算机将传感器中的整数(介于1到1200之间)发送到我的iPhone应用程序。我能够找到并连接到设备并传输数据。一、 至少在过去的三天里,我还不知道如何将这些数据转换回可用信息 例如,在didUpdateValueForCharacteristic函数中,如果我打印: print(characteristic.value!.bytes) 我得到的回报如下: 0x000000013cdb5f

这是我第一个使用swift的BLE项目,非常感谢你们的指导。我的arduino正在使用一个红熊实验室的微型计算机将传感器中的整数(介于1到1200之间)发送到我的iPhone应用程序。我能够找到并连接到设备并传输数据。一、 至少在过去的三天里,我还不知道如何将这些数据转换回可用信息

例如,在didUpdateValueForCharacteristic函数中,如果我打印:

print(characteristic.value!.bytes)
我得到的回报如下:

0x000000013cdb5f80
如果我要打印characteristic.value!我会得到这样的东西:

<hc>
这将返回整数64816。我期望一个介于0和1200之间的数字,所以这要么是错误的,要么是我遗漏了一步

我还尝试使用以下方法将数据转换为字符串:

            var string1 = NSString(data: characteristic.value!, encoding: NSUTF8StringEncoding) as! String
            print("String: \(string1)")

这只是打开一个nil值并崩溃。

首先确认返回的对象类型。value属性属于NSData类型,因此可以使用以下代码将其转换为NSString

- (id)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding

经过三天的努力,我终于明白了这一点。答案与swift代码无关。相反,我在arduino上的波特率太慢了。增加这个解决了所有问题

characteristic.value
是一个
NSData
对象。查看如何将
NSData
转换为
Integer
:感谢Larme的评论。我尝试将NSData转换为整数,并发布了上面使用的代码。它将NSData对象转换为64816的整数。我期待一个更低的数字。。。你知道我是否错过了一步或者做错了什么吗?谢谢你的帮助。谢谢你的帮助。我正在使用swift,所以我的代码有点不同,但我已经尝试了你的建议。然而,每当我这样做,它就会打开一个nil值,应用程序就会崩溃。我已经提出了我在上面的帖子中使用的代码。你对我遗漏的步骤有什么想法吗?谢谢你的帮助。
- (id)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding