2009-10-10 2 views
2

저는 현재 많은 데이터를 다루고 있습니다. lloonngg NSData 바이트 스트림을 가져 와서 해당 데이터를 구문 분석합니다. 구문 분석은 간단합니다. 그러나, 나는 특히 우아한 부기를 통해 구문 분석으로 데이터 소비를 시뮬레이션해야합니다. (NSUInteger *) 오프셋 {소비 가능 데이터 스트림으로 작동하는 NSData. 가능한?

uint32_t unused; 
NSRange myRange = NSMakeRange(*offset, sizeof(unused)); 

[self getBytes:&unused range:myRange]; 

*offset += sizeof(unused); 

return CFSwapInt32LittleToHost(unused); 
: - (uint32_t) getInt32OffsetIncrement

// 잡아 리틀 엔디안 32 비트 수 가 : 여기에 일반적인 방법은 내가 구현 한 NDATA의 범주에 모습입니다

}

내가 알기로는 데이터를 검색 한 다음 데이터 범위로 NSRange "포인터"로 이동합니다. 끝나면 전체 데이터 스트림을 소비했습니다.

동시에 데이터를 검색하고 데이터 스트림의 길이를 따라 포인터를 전진시킬 수있는 NSData의 모든 메소드를 간과 했습니까?

건배, 더그

답변

2

난 그냥이 매우 유사한 코드를 썼다. 나는 거기에 도움이 내장 NSData 메서드를 믿지 않아요. NSData 범주로 이미이 작업을 수행하고있는 것 같습니다. 하위 클래스로 만들고 멤버에서 오프셋을 유지하지 않는 한 할 수있는 최선의 방법이라고 생각합니다.

+0

동의. 감사. – dugla