diff --git a/Example/SwiftDataTables.xcodeproj/project.pbxproj b/Example/SwiftDataTables.xcodeproj/project.pbxproj index e11f0fa..d8ecb37 100644 --- a/Example/SwiftDataTables.xcodeproj/project.pbxproj +++ b/Example/SwiftDataTables.xcodeproj/project.pbxproj @@ -399,7 +399,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1020; - LastUpgradeCheck = 0940; + LastUpgradeCheck = 1250; ORGANIZATIONNAME = CocoaPods; TargetAttributes = { 05D66E6B22B94942003004D9 = { @@ -623,6 +623,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -648,7 +649,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -679,6 +680,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -697,7 +699,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; @@ -716,7 +718,7 @@ DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = ""; INFOPLIST_FILE = "$(SRCROOT)/DemoSwiftDataTables/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MODULE_NAME = ExampleApp; OTHER_LDFLAGS = ""; @@ -742,7 +744,7 @@ DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = ""; INFOPLIST_FILE = "$(SRCROOT)/DemoSwiftDataTables/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MODULE_NAME = ExampleApp; OTHER_LDFLAGS = ""; @@ -766,7 +768,7 @@ CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = dwarf; @@ -778,7 +780,7 @@ GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = SwiftDataTables/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; @@ -803,7 +805,7 @@ CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; @@ -814,7 +816,7 @@ GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = SwiftDataTables/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = demo.SwiftDataTables.SwiftDataTables; diff --git a/SwiftDataTables.podspec b/SwiftDataTables.podspec index e3d39ad..1666cc8 100755 --- a/SwiftDataTables.podspec +++ b/SwiftDataTables.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = 'SwiftDataTables' - s.version = '0.8.1' + s.version = '0.8.3' s.summary = 'A Swift Data Table package that allows ordering, searching, and paging with extensible options.' s.swift_version = '5.0' diff --git a/SwiftDataTables/Classes/Models/DataTableValueType.swift b/SwiftDataTables/Classes/Models/DataTableValueType.swift index ef5e757..cd2facc 100755 --- a/SwiftDataTables/Classes/Models/DataTableValueType.swift +++ b/SwiftDataTables/Classes/Models/DataTableValueType.swift @@ -14,22 +14,38 @@ import Foundation public enum DataTableValueType { //MARK: - Properties - case string(String) - case int(Int) - case float(Float) - case double(Double) + case string(String, String? = nil) + case int(Int, String? = nil) + case float(Float, String? = nil) + case double(Double, String? = nil) public var stringRepresentation: String { get { switch self { - case .string(let value): - return String(value) - case .int(let value): - return String(value) - case .float(let value): - return String(value) - case .double(let value): - return String(value) + case .string(let value, let format): + if let format = format { + return String(format: format, value) + } else { + return String(value) + } + case .int(let value, let format): + if let format = format { + return String(format: format, value) + } else { + return String(value) + } + case .float(let value, let format): + if let format = format { + return String(format: format, value) + } else { + return String(value) + } + case .double(let value, let format): + if let format = format { + return String(format: format, value) + } else { + return String(value) + } } } } @@ -67,13 +83,13 @@ extension DataTableValueType: Comparable { } public static func < (lhs: DataTableValueType, rhs: DataTableValueType) -> Bool { switch (lhs, rhs) { - case (.string(let lhsValue), .string(let rhsValue)): + case (.string(let lhsValue, _), .string(let rhsValue, _)): return lhsValue < rhsValue - case (.int(let lhsValue), .int(let rhsValue)): + case (.int(let lhsValue, _), .int(let rhsValue, _)): return lhsValue < rhsValue - case (.float(let lhsValue), .float(let rhsValue)): + case (.float(let lhsValue, _), .float(let rhsValue, _)): return lhsValue < rhsValue - case (.double(let lhsValue), .double(let rhsValue)): + case (.double(let lhsValue, _), .double(let rhsValue, _)): return lhsValue < rhsValue default: return lhs.stringRepresentation < rhs.stringRepresentation diff --git a/SwiftDataTables/Classes/Protocols/SwiftDataTableDataSourceAndDelegate.swift b/SwiftDataTables/Classes/Protocols/SwiftDataTableDataSourceAndDelegate.swift index 97ae97e..a1e2e20 100644 --- a/SwiftDataTables/Classes/Protocols/SwiftDataTableDataSourceAndDelegate.swift +++ b/SwiftDataTables/Classes/Protocols/SwiftDataTableDataSourceAndDelegate.swift @@ -11,7 +11,7 @@ import UIKit //public let SwiftDataTableAutomaticColumnWidth: CGFloat = CGFloat.greatestFiniteMagnitude /// This is an optional data source, you can also set static data in the initialiser of the `SwiftDataTable` class so you can avoid conforming to the data source. But for those with more dynamic content, use this protocol. -public protocol SwiftDataTableDataSource: class { +public protocol SwiftDataTableDataSource: AnyObject { /// The number of columns to display /// @@ -44,7 +44,7 @@ public protocol SwiftDataTableDataSource: class { } /// An optional delegate for further customisation. Default values will be used retrieved from the SwiftDataTableConfiguration file. This will can be overridden and passed into the SwiftDataTable constructor incase you wish not to use the delegate. -@objc public protocol SwiftDataTableDelegate: class { +@objc public protocol SwiftDataTableDelegate: AnyObject { /// Fired when a cell is selected. ///