From e809e3b358f7df5dc3119a314a973519d89066e1 Mon Sep 17 00:00:00 2001 From: Thomas Harrison Date: Mon, 31 May 2021 20:06:20 -0400 Subject: [PATCH 1/4] Added optional format value to DataTableValueType --- .../Classes/Models/DataTableValueType.swift | 48 ++++++++++++------- 1 file changed, 32 insertions(+), 16 deletions(-) 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 From 5d5c5af05f8bbb8fe4bacd493b43780f0e0d8405 Mon Sep 17 00:00:00 2001 From: Thomas Harrison Date: Mon, 28 Jun 2021 17:54:36 -0400 Subject: [PATCH 2/4] Fixed deprecation warning for using class as base of protocol instead of AnyObject --- .../Protocols/SwiftDataTableDataSourceAndDelegate.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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. /// From 89302642cbb7dd5af7a741ae9e7adbbb9d6da876 Mon Sep 17 00:00:00 2001 From: Thomas Harrison Date: Mon, 28 Jun 2021 17:55:28 -0400 Subject: [PATCH 3/4] Updated project to recommended settings --- .../SwiftDataTables.xcodeproj/project.pbxproj | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) 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; From 62708c36971853df0e43187a9e9f0b5539e96e5f Mon Sep 17 00:00:00 2001 From: Thomas Harrison Date: Thu, 19 Aug 2021 14:13:06 -0400 Subject: [PATCH 4/4] Version bump v0.8.3 --- SwiftDataTables.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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'