Przeglądaj źródła

Add range-related utility properties/methods

master
Said Achmiz 4 lat temu
rodzic
commit
169eb7e71a
2 zmienionych plików z 35 dodań i 0 usunięć
  1. 11
    0
      NSData+SA_NSDataExtensions.h
  2. 24
    0
      NSData+SA_NSDataExtensions.m

+ 11
- 0
NSData+SA_NSDataExtensions.h Wyświetl plik

*/ */
@property (readonly) NSData *dataWithTerminatedCString; @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 /** Returns an NSData object containing a blank C string (i.e. a byte sequence
of length 1, containing the null character '\0'). of length 1, containing the null character '\0').
*/ */

+ 24
- 0
NSData+SA_NSDataExtensions.m Wyświetl plik

} }
} }


-(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 { +(NSData *) dataWithBlankCString {
return [NSData dataWithBytes:"\0" return [NSData dataWithBytes:"\0"
length:1]; length:1];

Ładowanie…
Anuluj
Zapisz