CBHStringSplitter 0.1.0

CBHStringSplitter 0.1.0

Chris Huxtable 维护。



CBHStringSplitter

release pod licence coverage

CBHStringSplitter 是一个 NSEnumerator 子类,使用 NSInputStream 分割字符串,以最小内存使用率处理输入。

虽然 CBHStringSplitter 比等效的 componentsSeparatedByCharactersInSet 略慢,但它不会将整个文件内容加载到内存中。这使得它在某些用例中更为合适。

示例

Using a for in loop process each line in a file

NSString *path = @"/path/to/file";
CBHStringSplitter *splitter = [CBHStringSplitter splitterWithFileAtPath:path andSeparators:[NSCharacterSet newlineCharacterSet]];

for (NSString *line in splitter)
{
	// Do something with the line...
}

Using a while loop process each line in a file

NSString *path = @"/path/to/file";
CBHStringSplitter *splitter = [CBHStringSplitter splitterWithFileAtPath:path andSeparators:[NSCharacterSet newlineCharacterSet]];

NSString *line;
while ( (line = [splitter nextObject]) )
{
	// Do something with the line...
}

注意事项

  • componentsSeparatedByCharactersInSet 不同,如果输入以分隔符字符结尾,则不会将空字符串作为最后一个条目给出。它将直接忽略。

待办事项

  • 性能改进
  • 简化缓冲
  • 基于块的重枚举

欢迎提出拉取请求。

许可协议

CBHStringSplitter 适用于 ISC 许可协议