私は実際に何が起こっているのか分かりません。NSData isEqualtoData
私は、NSDataオブジェクトreceivedStreamから最初の3バイトを取得し、それを別のNSDataオブジェクトtempにchar配列を介して渡す関数を持っています。次にそれを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