如何在Cocoa中将数据附加到NSmutableData

时间:2013-09-04 07:38:02

标签: objective-c macos cocoa xmldocument

我想添加新的NSdata = x20(ASCII),它是NSMutableData中最后一个空格到足够的固定字节。示例:NSmuatabledata有400个字节,但我需要这个NSMutableData有600个字节。所以我想在最后这个nsmutableData添加200个byes(HEX中的x20)。我怎样才能做到这一点?请帮我。提前谢谢

// write xmlDoc to file
NSData* xmlData = [xmlDoc XMLDataWithOptions:NSXMLNodePreserveAll];
NSLog(@"xmlData %@",xmlData);
NSMutableData * datawrite = [xmlData mutableCopy ] ;
NSArray *array = [[NSArray alloc] init]; // i dont know how to add x20 (hex) to this array 
[datawrite appendData:[[NSString stringWithFormat:@"%@", array] dataUsingEncoding:NSUTF8StringEncoding]];

1 个答案:

答案 0 :(得分:1)

NSMutableData *datawrite = ...
NSUInteger oldLength = [datawrite length];
NSUInteger newLength = 600;
if (newLength > oldLength ) {
    // extend mutable data object:
    [datawrite setLength:newLength];

    // fill appended bytes with space characters:
    char *bytes = [datawrite mutableBytes];
    memset(bytes + oldLength, ' ', newLength - oldLength);
}