gpt4 book ai didi

iphone - 如何将 NSNumber 转换为 NSData?

转载 作者:IT王子 更新时间:2023-10-29 08:10:03 26 4
gpt4 key购买 nike

我需要使用 sendDataToAllPeers:withDataMode:error: 通过 GameKit 传输一个整数,但我不知道如何将我的 NSNumber 转换为 NSData 以便发送。我目前有:

NSNumber *indexNum = [NSNumber numberWithInt:index];
[gkSession sendDataToAllPeers:indexNum withDataMode:GKSendDataReliable error:nil];

但显然 indexNum 需要先转换为 NSData 才能发送。请问有人知道怎么做吗?

谢谢!

最佳答案

我不会推荐 NSKeyedArchiver 来完成这样一个简单的任务,因为它在它和类版本控制之上增加了 PLIST 开销。

包装:

NSUInteger index = <some number>;
NSData *payload = [NSData dataWithBytes:&index length:sizeof(index)];

发送:

[session sendDataToAllPeers:payload withDataMode:GKSendDataReliable error:nil];

解压(在 GKSession 接收处理程序中):

NSUInteger index;
[payload getBytes:&index length:sizeof(index)];

swift

var i = 123
let data = NSData(bytes: &i, length: sizeof(i.dynamicType))

var i2 = 0
data.getBytes(&i2, length: sizeof(i2.dynamicType))

print(i2) // "123"

关于iphone - 如何将 NSNumber 转换为 NSData?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4689689/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com