From cc2437e177ffe3ce928adba28ef8302afbaeb627 Mon Sep 17 00:00:00 2001 From: Yasuhiro Hatta Date: Sat, 5 Nov 2016 17:22:29 +0900 Subject: [PATCH] Fix circular reference --- CSVConfiguration.swift | 2 +- Sources/CSV+iterator.swift | 2 +- Sources/CSV.swift | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CSVConfiguration.swift b/CSVConfiguration.swift index 995061f..6e4e154 100644 --- a/CSVConfiguration.swift +++ b/CSVConfiguration.swift @@ -14,7 +14,7 @@ internal let defaultDelimiter = UnicodeScalar(UInt8(0x2c)) // "," internal let defaultWhitespaces = CharacterSet.whitespaces /// No overview available. -public struct CSVConfiguration { +public class CSVConfiguration { public var errorHandler: ((Error, Int, Int) -> Void)? = nil diff --git a/Sources/CSV+iterator.swift b/Sources/CSV+iterator.swift index e7981f2..fc8e9a8 100644 --- a/Sources/CSV+iterator.swift +++ b/Sources/CSV+iterator.swift @@ -21,7 +21,7 @@ extension CSV: IteratorProtocol, Sequence { extension CSV { /// No overview available. - public struct Row: RandomAccessCollection { + public class Row: RandomAccessCollection { private let data: [String] private let headerRow: [String]? diff --git a/Sources/CSV.swift b/Sources/CSV.swift index 759a876..00c7a37 100755 --- a/Sources/CSV.swift +++ b/Sources/CSV.swift @@ -60,8 +60,8 @@ public class CSV { let input = reader.makeUInt8Iterator() let iterator = UnicodeIterator(input: input, inputEncodingType: codecType) try self.init(iterator: iterator, config: config) - input.errorHandler = self.errorHandler - iterator.errorHandler = self.errorHandler + input.errorHandler = { [unowned self] in self.errorHandler(error: $0) } + iterator.errorHandler = { [unowned self] in self.errorHandler(error: $0) } } /// Create an instance with `InputStream`. @@ -82,8 +82,8 @@ public class CSV { let input = reader.makeUInt16Iterator() let iterator = UnicodeIterator(input: input, inputEncodingType: codecType) try self.init(iterator: iterator, config: config) - input.errorHandler = self.errorHandler - iterator.errorHandler = self.errorHandler + input.errorHandler = { [unowned self] in self.errorHandler(error: $0) } + iterator.errorHandler = { [unowned self] in self.errorHandler(error: $0) } } /// Create an instance with `InputStream`. @@ -104,8 +104,8 @@ public class CSV { let input = reader.makeUInt32Iterator() let iterator = UnicodeIterator(input: input, inputEncodingType: codecType) try self.init(iterator: iterator, config: config) - input.errorHandler = self.errorHandler - iterator.errorHandler = self.errorHandler + input.errorHandler = { [unowned self] in self.errorHandler(error: $0) } + iterator.errorHandler = { [unowned self] in self.errorHandler(error: $0) } } // MARK: - Parse CSV