2011-08-23 65 views

回答

5

你靠近,NSData有一個方法subdataWithRange:。您可以使用功能NSMakeRange製作一個範圍,然後使用該範圍生成一個NSData修剪。

一個例子:

// Create NSData 
NSString* myString = @"Lorem ipsum dolor sit amet, consectetur cras amet."; 
NSData* myData = [myString dataUsingEncoding:NSUTF8StringEncoding]; 
if (myData != nil && myData.length > 20) { 

    // Create trimmed NSData 
    NSData* newData = [myData subdataWithRange:NSMakeRange(20, myData.length - 20)]; 
    if (newData != nil) { 

    // Test 
    NSString* newString = [[NSString alloc] initWithData: newData 
               encoding: NSUTF8StringEncoding]; 
    NSLog(@"%@", newString); 
    // -> "t amet, consectetur cras amet." 
    } 
} 
+0

尋找一個完整的例子,但這是有幫助的 – circuitry

+0

NSData * d1 = [myData subdataWithRange:NSMakeRange(0,20)]; – circuitry

+1

@circuitry我添加了一個完整的例子來說明如何使用'subdataWithRange:' – ColGraff

2
- (NSData *)subdataWithRange:(NSRange)range; 
+1

即不是委託方法。 –