瀏覽代碼

Add range-related utility properties/methods

master
Said Achmiz 4 年之前
父節點
當前提交
169eb7e71a
共有 2 個文件被更改,包括 35 次插入0 次删除
  1. 11
    0
      NSData+SA_NSDataExtensions.h
  2. 24
    0
      NSData+SA_NSDataExtensions.m

+ 11
- 0
NSData+SA_NSDataExtensions.h 查看文件

@@ -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 查看文件

@@ -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];

Loading…
取消
儲存