diff --git a/CollapsibleTableSectionViewController.xcodeproj/project.pbxproj b/CollapsibleTableSectionViewController.xcodeproj/project.pbxproj
index 7e70882..39bf376 100644
--- a/CollapsibleTableSectionViewController.xcodeproj/project.pbxproj
+++ b/CollapsibleTableSectionViewController.xcodeproj/project.pbxproj
@@ -149,16 +149,17 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0830;
- LastUpgradeCheck = 0830;
+ LastUpgradeCheck = 1000;
ORGANIZATIONNAME = jeantimex;
TargetAttributes = {
0A8BD66B1F231B2C003D6155 = {
CreatedOnToolsVersion = 8.3.3;
- LastSwiftMigration = 0830;
+ LastSwiftMigration = 1000;
ProvisioningStyle = Automatic;
};
0A8BD6741F231B2C003D6155 = {
CreatedOnToolsVersion = 8.3.3;
+ LastSwiftMigration = 1000;
ProvisioningStyle = Automatic;
};
};
@@ -237,15 +238,23 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -275,6 +284,7 @@
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_SWIFT3_OBJC_INFERENCE = Default;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
@@ -291,15 +301,23 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -321,6 +339,7 @@
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+ SWIFT_SWIFT3_OBJC_INFERENCE = Default;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
@@ -345,7 +364,8 @@
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 3.0;
+ SWIFT_SWIFT3_OBJC_INFERENCE = Default;
+ SWIFT_VERSION = 4.2;
};
name = Debug;
};
@@ -365,7 +385,8 @@
PRODUCT_BUNDLE_IDENTIFIER = jeantimex.com.CollapsibleTableSectionViewController;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
- SWIFT_VERSION = 3.0;
+ SWIFT_SWIFT3_OBJC_INFERENCE = Default;
+ SWIFT_VERSION = 4.2;
};
name = Release;
};
@@ -377,7 +398,8 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = jeantimex.com.CollapsibleTableSectionViewControllerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 3.0;
+ SWIFT_SWIFT3_OBJC_INFERENCE = Default;
+ SWIFT_VERSION = 4.2;
};
name = Debug;
};
@@ -389,7 +411,8 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = jeantimex.com.CollapsibleTableSectionViewControllerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 3.0;
+ SWIFT_SWIFT3_OBJC_INFERENCE = Default;
+ SWIFT_VERSION = 4.2;
};
name = Release;
};
diff --git a/CollapsibleTableSectionViewController.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/CollapsibleTableSectionViewController.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/CollapsibleTableSectionViewController.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/CollapsibleTableSectionViewController.xcodeproj/xcshareddata/xcschemes/CollapsibleTableSectionViewController.xcscheme b/CollapsibleTableSectionViewController.xcodeproj/xcshareddata/xcschemes/CollapsibleTableSectionViewController.xcscheme
index c7073fe..c182363 100644
--- a/CollapsibleTableSectionViewController.xcodeproj/xcshareddata/xcschemes/CollapsibleTableSectionViewController.xcscheme
+++ b/CollapsibleTableSectionViewController.xcodeproj/xcshareddata/xcschemes/CollapsibleTableSectionViewController.xcscheme
@@ -1,6 +1,6 @@
+ codeCoverageEnabled = "YES"
+ shouldUseLaunchSchemeArgsEnv = "YES">
diff --git a/CollapsibleTableSectionViewController/CollapsibleTableSectionViewController.swift b/CollapsibleTableSectionViewController/CollapsibleTableSectionViewController.swift
index a4b4ed6..af29329 100644
--- a/CollapsibleTableSectionViewController/CollapsibleTableSectionViewController.swift
+++ b/CollapsibleTableSectionViewController/CollapsibleTableSectionViewController.swift
@@ -76,7 +76,7 @@ open class CollapsibleTableSectionViewController: UIViewController {
// Auto resizing the height of the cell
_tableView.estimatedRowHeight = 44.0
- _tableView.rowHeight = UITableViewAutomaticDimension
+ _tableView.rowHeight = UITableView.automaticDimension
// Auto layout the tableView
view.addSubview(_tableView)
@@ -105,11 +105,11 @@ extension CollapsibleTableSectionViewController: UITableViewDataSource, UITableV
// Cell
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
- return delegate?.collapsibleTableView?(tableView, cellForRowAt: indexPath) ?? UITableViewCell.init(style: UITableViewCellStyle.default, reuseIdentifier: "DefaultCell")
+ return delegate?.collapsibleTableView?(tableView, cellForRowAt: indexPath) ?? UITableViewCell.init(style: UITableViewCell.CellStyle.default, reuseIdentifier: "DefaultCell")
}
public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
- return UITableViewAutomaticDimension
+ return UITableView.automaticDimension
}
public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
diff --git a/CollapsibleTableSectionViewController/CollapsibleTableViewHeader.swift b/CollapsibleTableSectionViewController/CollapsibleTableViewHeader.swift
index d102592..2cbc9df 100644
--- a/CollapsibleTableSectionViewController/CollapsibleTableViewHeader.swift
+++ b/CollapsibleTableSectionViewController/CollapsibleTableViewHeader.swift
@@ -8,13 +8,13 @@
import UIKit
-protocol CollapsibleTableViewHeaderDelegate {
+protocol CollapsibleTableViewHeaderDelegate: class {
func toggleSection(_ section: Int)
}
open class CollapsibleTableViewHeader: UITableViewHeaderFooterView {
- var delegate: CollapsibleTableViewHeaderDelegate?
+ weak var delegate: CollapsibleTableViewHeaderDelegate?
var section: Int = 0
let titleLabel = UILabel()
@@ -59,7 +59,7 @@ open class CollapsibleTableViewHeader: UITableViewHeaderFooterView {
//
// Trigger toggle section when tapping on the header
//
- func tapHeader(_ gestureRecognizer: UITapGestureRecognizer) {
+ @objc func tapHeader(_ gestureRecognizer: UITapGestureRecognizer) {
guard let cell = gestureRecognizer.view as? CollapsibleTableViewHeader else {
return
}
@@ -97,7 +97,7 @@ extension UIView {
animation.toValue = toValue
animation.duration = duration
animation.isRemovedOnCompletion = false
- animation.fillMode = kCAFillModeForwards
+ animation.fillMode = CAMediaTimingFillMode.forwards
self.layer.add(animation, forKey: nil)
}
diff --git a/CollapsibleTableSectionViewControllerTests/CollapsibleTableSectionViewControllerTests.swift b/CollapsibleTableSectionViewControllerTests/CollapsibleTableSectionViewControllerTests.swift
index 26eee3c..5e955d0 100644
--- a/CollapsibleTableSectionViewControllerTests/CollapsibleTableSectionViewControllerTests.swift
+++ b/CollapsibleTableSectionViewControllerTests/CollapsibleTableSectionViewControllerTests.swift
@@ -124,7 +124,7 @@ class CollapsibleTableSectionViewControllerTests: XCTestCase {
// Mock the CollapsibleTableSectionDelegate
class MockDelegate: CollapsibleTableSectionDelegate {
func collapsibleTableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
- return UITableViewCell.init(style: UITableViewCellStyle.subtitle, reuseIdentifier: "CustomCell")
+ return UITableViewCell.init(style: UITableViewCell.CellStyle.subtitle, reuseIdentifier: "CustomCell")
}
}
@@ -153,7 +153,7 @@ class CollapsibleTableSectionViewControllerTests: XCTestCase {
func testReturnsUITableViewAutomaticDimension() {
let heightForRowAt = viewController.tableView(tableView, heightForRowAt: IndexPath(row: 0, section: 0))
- XCTAssertEqual(heightForRowAt, UITableViewAutomaticDimension)
+ XCTAssertEqual(heightForRowAt, UITableView.automaticDimension)
}
//