TestsTested | ✓ |
LangLanguage | Obj-CObjective C |
License | MIT |
ReleasedLast Release | Jan 2017 |
Maintained by GyazSquare, Goichi Hirakawa.
GSCSVSerialization is an Objective-C CSV parser for iOS, OS X, watchOS and tvOS.
Check out the source:
$ git clone https://github.com/GyazSquare/GSCSVSerialization.git
GSCSVSerialization can create a CSV object from a RFC 4180-compliant CSV data by using the following methods:
+ (nullable __kindof NSArray<__kindof NSArray<__kindof NSString *> *> *)CSVRecordsWithData:(NSData *)data encoding:(NSStringEncoding)encoding options:(GSCSVReadingOptions)opt error:(NSError **)error;
+ (nullable __kindof NSArray<__kindof NSArray<__kindof NSString *> *> *)CSVRecordsWithStream:(NSInputStream *)stream encoding:(NSStringEncoding)encoding options:(GSCSVReadingOptions)opt error:(NSError **)error;
For example, if you parse CSV data below,
aaa,bbb,ccc
zzz,yyy,xxx
you can get a CSV object like this:
@[
@[@"aaa",@"bbb",@"ccc"],
@[@"zzz",@"yyy",@"xxx"]
]
GSCSVSerialization can create CSV data from a CSV object by using the following methods:
+ (nullable NSData *)dataWithCSVRecords:(NSArray<NSArray<NSString *> *> *)records encoding:(NSStringEncoding)encoding options:(GSCSVWritingOptions)opt error:(NSError **)error;
+ (NSInteger)writeCSVRecords:(NSArray<NSArray<NSString *> *> *)records toStream:(NSOutputStream *)stream encoding:(NSStringEncoding)encoding options:(GSCSVWritingOptions)opt error:(NSError **)error;
A records
object is a two-dimensional array containing field
strings. You should check whether the input will produce valid CSV data before calling these methods by using isValidCSVRecords:
.
GSCSVSerialization is licensed under the MIT License.
See the LICENSE file for more info.