GSLCSVSerialization
GSLCSVSerialization是iOS、macOS、watchOS和tvOS上用于Objective-C的CSV解析器。
需求
- Xcode 11.2或更高版本
- 基本SDK:iOS 13.2 / macOS 10.15 / watchOS 6.1 / tvOS 13.2或更高版本
- 目标平台:iOS 8.0 / OS X 10.6 / watchOS 2.0 / tvOS 9.0或更高版本
安装
CocoaPods
将pod添加到您的Podfile
# ...
pod 'GSLCSVSerialization'
安装pod
$ pod install
源代码
查看源代码
$ git clone https://github.com/GyazSquare/GSLCSVSerialization.git
用法
创建CSV对象
GSLCSVSerialization可以使用以下方法从遵循RFC 4180规范的CSV数据创建CSV对象:
+ (nullable __kindof NSArray<__kindof NSArray<__kindof NSString *> *> *)CSVRecordsWithData:(NSData *)data encoding:(NSStringEncoding)encoding options:(GSLCSVReadingOptions)opt error:(NSError **)error;
+ (nullable __kindof NSArray<__kindof NSArray<__kindof NSString *> *> *)CSVRecordsWithStream:(NSInputStream *)stream encoding:(NSStringEncoding)encoding options:(GSLCSVReadingOptions)opt error:(NSError **)error;
例如,如果您解析以下CSV数据:
aaa,bbb,ccc
zzz,yyy,xxx
您可以得到这样一个CSV对象
@[
@[@"aaa",@"bbb",@"ccc"],
@[@"zzz",@"yyy",@"xxx"]
]
创建CSV数据
GSLCSVSerialization可以使用以下方法从CSV对象创建CSV数据
+ (nullable NSData *)dataWithCSVRecords:(NSArray<NSArray<NSString *> *> *)records encoding:(NSStringEncoding)encoding options:(GSLCSVWritingOptions)opt error:(NSError **)error;
+ (NSInteger)writeCSVRecords:(NSArray<NSArray<NSString *> *> *)records toStream:(NSOutputStream *)stream encoding:(NSStringEncoding)encoding options:(GSLCSVWritingOptions)opt error:(NSError **)error;
一个records
对象是一个包含field
字符串的二维数组。在使用这些方法之前,您应该使用isValidCSVRecords:
检查输入是否会产生有效的CSV数据。
许可
本软件遵循MIT许可证。
详细内容请参阅LICENSE文件。