2012-02-24 31 views
6

Bu soruna NSMutableData'yı kullanmam gerektiğinden eminim, çünkü nesneye birkaç kez erişeceğim ve her veri bölümünü ekledikten sonra.nsdata nesnelerini nsmutabledata nesnesine birleştirin

Ben ile karşı karşıya am Sorun değişken veriler aşağıdaki denedim

nesne sonuna eklenecek olan birkaç küçük NSData nesneler tarafından oluşturulacak bir büyük NSMutableData nesnesi oluşturmak isteyen kulüpler olduğunu .

DÜZENLEME: // Bu yöntem artık verileri işlediği gibi ekler ve ekler. Her şeyden

- (void) constructRequest 
{ 
    NSData * protocolInt = [self addProtocolVersion]; 
    NSMutableData * myMutableData = [[NSMutableData alloc] init]; 

    NSData *first_data = [self addProSig]; //nsdata type 
    NSData *second_data = [self addAct]; //nsdata type 
    [myMutableData appendData:first_data]; 
    [myMutableData appendData:second_data]; 
    //etc 


    [protocolInt writeToFile:@"/Users/imac/Desktop/_dataDump.dat" atomically:YES]; 

} 

Öncelikle bu Ben birkaç örnek benzer gördük sadece müzik, veri eklenecek doğru yoldur bile emin değilim. ana konu olduğunu burada iki hat üzerinde

NSMutableData *first_data = [self addProSig]; //nsdata type 
     NSMutableData *second_data = [self addAct]; //nsdata type 

Ben

uyumsuz işaretçi başlatılıyor tipleri wuth 'NSData *'

türü ifadesini 'NSMutableData * _strong ikisinide hatlarında uyarılar var

Herhangi bir yardım varsa, kullanmakta olduğum daha iyi çözümler de olabilir.

+0

'addProSig' ve' addAct' yöntemi beyanı nedir ... Böyle bir değişken kopyasını yapabilirsiniz bu uyarıların kurtulmak için? Eğer bir 'NSData *' döndürdüyse, 'NSMutableData * mutDat = [[NSMutableData alloc] initWithLength: [immutData length]]; [mutDat setData: immutData]; 'immutData', değişmez bir NSData'dır *. – user1118321

+0

10 Bunu çözdüm ... * first_data ve * second_data'yı yanlış bildiriyordum. NSData değil NSMutableData .. olmalıydı. Bunun için üzgünüm. –

cevap

5

NSMutableData *first_data = [[self addProSig] mutableCopy]; //nsdata type 
NSMutableData *second_data = [[self addAct] mutableCopy]; //nsdata type 
+0

yup. nsdata değil nsmutabledata olarak ilan ediyordum .. –

+0

Cool. O halde hala cevaplanması gereken başka bir şey var mı? Hala yanıtlanmamış bir soru olarak listeleniyor. :) –

+0

opps .. Onu işaretlediğimi sanıyordum ... garip bir şekilde şimdi tekrardan/işaretliyim: P –