Latest 3.0.1
Homepage https://github.com/GyazSquare/GSLCSVSerialization
License MIT
Platforms ios 8.0, osx 10.6, tvos 9.0, watchos 2.0, requires ARC

Build Status

GSLCSVSerialization is an Objective-C CSV parser for iOS, macOS, watchOS and tvOS.

Requirements

  • Xcode 10.1 or later
  • Base SDK: iOS 12.1 / macOS 10.14.1 / watchOS 5.1 / tvOS 12.1 or later
  • Deployment Target: iOS 8.0 / OS X 10.6 / watchOS 2.0 / tvOS 9.0 or later

Installation

CocoaPods

Add the pod to your Podfile:

# ...

pod 'GSLCSVSerialization'

Install the pod:

$ pod install

Source

Check out the source:

$ git clone https://github.com/GyazSquare/GSLCSVSerialization.git

Usage

Creating a CSV Object

GSLCSVSerialization 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:(GSLCSVReadingOptions)opt error:(NSError **)error;
+ (nullable __kindof NSArray<__kindof NSArray<__kindof NSString *> *> *)CSVRecordsWithStream:(NSInputStream *)stream encoding:(NSStringEncoding)encoding options:(GSLCSVReadingOptions)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"]
]

Creating CSV Data

GSLCSVSerialization can create CSV data from a CSV object by using the following methods:

+ (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;

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:.

License

This software is licensed under the MIT License.

See the LICENSE file for details.

Latest podspec

{
    "name": "GSLCSVSerialization",
    "version": "3.0.1",
    "authors": "GyazSquare",
    "license": {
        "type": "MIT"
    },
    "homepage": "https://github.com/GyazSquare/GSLCSVSerialization",
    "source": {
        "git": "https://github.com/GyazSquare/GSLCSVSerialization.git",
        "tag": "v3.0.1"
    },
    "summary": "An Objective-C CSV parser for iOS, macOS, watchOS and tvOS.",
    "platforms": {
        "ios": "8.0",
        "osx": "10.6",
        "tvos": "9.0",
        "watchos": "2.0"
    },
    "requires_arc": true,
    "source_files": "GSLCSVSerialization/*.{h,m}"
}

Pin It on Pinterest

Share This