Bläddra i källkod

Add range-related utility properties/methods

master
Said Achmiz 4 år sedan
förälder
incheckning
169eb7e71a
2 ändrade filer med 35 tillägg och 0 borttagningar
  1. 11
    0
      NSData+SA_NSDataExtensions.h
  2. 24
    0
      NSData+SA_NSDataExtensions.m

+ 11
- 0
NSData+SA_NSDataExtensions.h Visa fil

@@ -42,6 +42,17 @@
*/
@property (readonly) NSData *dataWithTerminatedCString;

/* Range manipulation.
*/

@property (readonly) NSRange startRange;
@property (readonly) NSRange fullRange;
@property (readonly) NSRange endRange;

-(NSRange) rangeAfterRange:(NSRange)aRange;
-(NSRange) rangeFromEndOfRange:(NSRange)aRange;
-(NSRange) rangeToEndFrom:(NSRange)aRange;

/** Returns an NSData object containing a blank C string (i.e. a byte sequence
of length 1, containing the null character '\0').
*/

+ 24
- 0
NSData+SA_NSDataExtensions.m Visa fil

@@ -37,6 +37,30 @@
}
}

-(NSRange) startRange {
return NSMakeRange(0, 0);
}

-(NSRange) fullRange {
return NSMakeRange(0, self.length);
}

-(NSRange) endRange {
return NSMakeRange(self.length, 0);
}

-(NSRange) rangeAfterRange:(NSRange)aRange {
return NSMakeRange(NSMaxRange(aRange), self.length - NSMaxRange(aRange));
}

-(NSRange) rangeFromEndOfRange:(NSRange)aRange {
return NSMakeRange(NSMaxRange(aRange) - 1, self.length - NSMaxRange(aRange) + 1);
}

-(NSRange) rangeToEndFrom:(NSRange)aRange {
return NSMakeRange(aRange.location, self.length - aRange.location);
}

+(NSData *) dataWithBlankCString {
return [NSData dataWithBytes:"\0"
length:1];

Laddar…
Avbryt
Spara