我真的不明白这里发生了什么。NSData isEqualtoData
我有一个函数从一个NSData对象receivedStream获取前三个字节,并通过一个char数组将它们放入另一个NSData对象temp。然后将它与从char数组缓冲区创建的NSData对象进行比较。这两个新的NSData对象都被创建并且具有正确的内容。然而,当isEqualtoData被调用时,我得到一个错误:
[NSConcreteData isEqualtoData:]: unrecognized selector sent to instance (instance refers to tmp2)
我也得到警告
Instance method '-isEqualtoData:' not found (return type defaults to 'id')
我不明白,因为很显然,这是在文档的有效方法。我需要在某处声明NSData.h吗?
-(BOOL)checkHeader{
char tmp[3];
[receivedStream getBytes:&tmp length:3];
NSData *temp = [NSData dataWithBytes:tmp length:3];
NSData *tmp2 = [NSData dataWithBytes:header length:3];
BOOL test = [tmp2 isEqualtoData:temp];
return test;
}
只需编辑帖子,男人。我做了一段代码的复制和粘贴,花了10分钟找出错误的地方xD – falkon21