Tôi khá chắc chắn rằng mình phải sử dụng NSMutableData cho vấn đề này vì tôi sẽ truy cập vào đối tượng nhiều lần và thêm từng phần dữ liệu khi tôi có nó.kết hợp các đối tượng nsdata vào đối tượng nsmutabledata
Vấn đề tôi đang phải đối mặt với là tôi đang muốn tạo ra một đối tượng NSMutableData lớn sẽ được tạo ra bởi một số đối tượng NSData nhỏ được nối thêm vào cuối cùng của dữ liệu có thể thay đổi đối tượng
Tôi đã thử những điều sau đây .
EDIT: // Phương pháp này hiện đang hoạt động và nối thêm dữ liệu như được cho là quá.
- (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];
}
Trước hết tôi thậm chí không chắc chắn nếu điều này là cách chính xác để nối thêm dữ liệu, Chỉ là tôi đã thấy một số ví dụ tương tự. Vấn đề chính là về hai dòng ở đây
NSMutableData *first_data = [self addProSig]; //nsdata type
NSMutableData *second_data = [self addAct]; //nsdata type
tôi có cảnh báo trên cả hai dòng
loại con trỏ tương thích khởi 'NSMutableData * _strong' wuth một biểu hiện của loại 'NSData *'
bất kỳ trợ giúp nào sẽ được đánh giá cao, Ngoài ra các giải pháp tốt hơn có thể là những gì tôi đang sử dụng nếu có.
khai báo phương thức cho 'addProSig' và 'addAct' là gì? Nếu họ trả về một 'NSData *' thì bạn cần phải chuyển đổi nó thành một 'NSMutableData *' bằng cách làm một cái gì đó như 'NSMutableData * mutDat = [[NSMutableData alloc] initWithLength: [immutData length]]; [mutDat setData: immutData]; 'where' immutData' là một NSData không thay đổi *. – user1118321
Tôi đã tìm ra nó .. Tôi đã khai báo * first_data và * second_data không chính xác. họ nên đã được NSData không NSMutableData .. xin lỗi về điều đó. –