2011-10-22 32 views
13

Gerçekten burada neler olup bittiğini anlamıyorum.NSData isEqualtoData

Bir NSData nesnesinden alınan ilk 3 bayt olan ReceipStream uygulamasına ve bunları bir char dizisi aracılığıyla başka bir NSData nesnesine yerleştirmeye başladım. Ardından bunu bir char dizisi arabelleğinden oluşturulan bir NSData nesnesine göre karşılaştırır. Her iki yeni NSData nesnesi oluşturuldu ve doğru içeriğe sahip. isEqualtoData çağrıldığında Ancak, bir hata alıyorum:

[NSConcreteData isEqualtoData:]: unrecognized selector sent to instance (instance refers to tmp2)

Ben de bu dokümanlar geçerli bir yöntem olduğu açıktır olarak anlamıyorum uyarısını

Instance method '-isEqualtoData:' not found (return type defaults to 'id')

olsun. NSData.h bir yere bildirmek zorunda mıyım?

-(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; 
} 
+0

Sadece yazıyı düzenle, dostum. Kodunun bir kopyasını ve yapıştırmasını yaptım ve neyin yanlış olduğunu anlamak için 10 dakikamı aldım xD – falkon21

cevap

29

Yöntem isEqualToData: olarak adlandırılır. Çoğu programlama dili olarak, başkent T - Objective-C'nin büyük/küçük harfe duyarlı olduğunu unutmayın.

+0

Bunun gibi aptalca bir şey olacağını biliyordum. Teşekkürler. Bu, yöntemi doğrudan dokümanlardan kopyalamayı öğretir. –

+8

Veya otomatik tamamlamayı kullanın. :) – Ciryon

İlgili konular