2012-02-24 4 views
6

객체를 여러 번 액세스하고 데이터의 각 섹션을 추가하면이 문제에 NSMutableData를 사용해야한다는 것이 확실합니다.nsdata 객체를 nsmutabledata 객체로 결합

내가 직면하고 문제는 내가이 변경 가능한 데이터는 다음과 내가 시도

객체의 끝에 추가되어 여러 개의 작은을 NSData 객체에 의해 생성됩니다 하나 개의 큰 NSMutableData 객체를 생성하고자하고 있다는 것입니다 .

EDIT : //이 방법은 이제 작동하고 데이터를 가정으로 추가합니다. 모든

- (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]; 

} 

우선 나는이 그것은 내가 몇 가지 예는 유사한 본 단지의 데이터를 추가하는 올바른 방법 인 경우도 모르겠습니다. 주요 문제는 그 여기에 두 줄에

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

내가

호환되지 않는 포인터 초기화 유형 wuth 에게 '있는 NSData *'

유형의 표현을 'NSMutableData을 *이 _strong'두 줄에 경고를

어떤 도움을 주시면 감사하겠습니다. 가능한 경우 더 나은 솔루션을 사용할 수 있습니다.

+0

'addProSig'와'addAct' 방법 선언은 무엇입니까 ...이 같은 변경 가능한 복사본을 만들 수있는 그 경고를 없애려면? 그들이'NSData * '를 반환하면'NSMutableData * mutDat = [[NSMutableData alloc] initWithLength : [immutData length]];와 같이 뭔가를함으로써 NSMutableData *로 변환해야한다. [mutDat setData : immutData];'여기서'immutData'는 불변의 NSData *입니다. – user1118321

+0

나는 그것을 알아 냈다. 나는 * first_data와 * second_data를 잘못 선언했다. 그들은 NSMutableData가 아닌 NSData 여야합니다. –

답변

5

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

예. 나는 그것을 nsmutabledata가 아닌 nsdata로 선언하고 있었다. –

+0

차갑다. 아직도이 질문에 답해야 할 것이 있습니까? 아직 답변이없는 질문으로 기재되어 있습니다. :) –

+0

opps .. 나는 내가 그것을 쳤다라고 생각했다. .. 이상하게 여하튼 re/ticked하게 된 지금 : P –

관련 문제