Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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
Objective c 前往';商店';目标c变量中的单个字节_Objective C_Byte_Bits - Fatal编程技术网

Objective c 前往';商店';目标c变量中的单个字节

Objective c 前往';商店';目标c变量中的单个字节,objective-c,byte,bits,Objective C,Byte,Bits,我需要在目标c中存储单个字节。因此,我可能有这样一个类接口: @interface NAD : NSObject @property (...) ... byte; @end 我从uint8\t指针开始,但这变得越来越困难,因为它们实际上是4个字节,或者别的什么 因此,我转而使用NSData。但是NSData以“字节”(复数)表示。这不一定是个问题,但一直以来都需要在这两者之间进行转换 那么,有没有更好的方法将1字节(8位)存储在目标c变量中 非常感谢为什么uint8\u t*而不仅仅是u

我需要在目标c中存储单个字节。因此,我可能有这样一个类接口:

@interface NAD : NSObject

@property (...) ... byte;

@end
我从
uint8\t
指针开始,但这变得越来越困难,因为它们实际上是4个字节,或者别的什么

因此,我转而使用
NSData
。但是
NSData
以“字节”(复数)表示。这不一定是个问题,但一直以来都需要在这两者之间进行转换

那么,有没有更好的方法将1字节(8位)存储在目标c变量中


非常感谢

为什么
uint8\u t*
而不仅仅是
uint8\u t

@property (assign) uint8_t byte;
要将其包装到NSData对象中,请执行以下操作:

uint8_t b = object.byte;
NSData *d = [NSData dataWithBytes:&b length:1];

uint8\u t
指针可以是4字节,但
uint8\u t
将是8位。为什么你需要一个指针,如果它是指针,为什么你关心指针表示本身有多少位?在C标准中,
char
正好是一个字节。我如何将
uint8\u t
转换为
char void*
,以便在
NSData
对象中使用?它们是兼容的,因此你可以只获取地址(
&self.byte
)。但是为什么要将其包装成
NSData
?我需要将其组合成一个
NSData
对象以发送到蓝牙设备。
NSData
将数据长度与您看到的字节一起存储。当我这样做时,
[data appendBytes:&\n nad.byte length:1];
我得到请求的属性表达式的错误
地址