From a5f9081b97262e79340372c367ce94a6035fc40d Mon Sep 17 00:00:00 2001 From: Fedor Semenchenko Date: Tue, 18 Oct 2016 20:23:28 +0300 Subject: [PATCH 1/3] collection view support --- LeadKit/LeadKit.xcodeproj/project.pbxproj | 16 +++++++ .../UICollectionView+CellRegistration.swift | 47 +++++++++++++++++++ .../UICollectionView+DequeueCustomCell.swift | 29 ++++++++++++ 3 files changed, 92 insertions(+) create mode 100644 LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+CellRegistration.swift create mode 100644 LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+DequeueCustomCell.swift diff --git a/LeadKit/LeadKit.xcodeproj/project.pbxproj b/LeadKit/LeadKit.xcodeproj/project.pbxproj index 6e4f7d0b..ae786c22 100644 --- a/LeadKit/LeadKit.xcodeproj/project.pbxproj +++ b/LeadKit/LeadKit.xcodeproj/project.pbxproj @@ -52,6 +52,8 @@ 78D4B5461DA64D49005B0764 /* UIViewController+DefaultStoryboardIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78D4B5451DA64D49005B0764 /* UIViewController+DefaultStoryboardIdentifier.swift */; }; 78D4B54A1DA64EAB005B0764 /* Any+TypeName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78D4B5491DA64EAB005B0764 /* Any+TypeName.swift */; }; 95B39A861D9D51250057BD54 /* String+Localization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B39A851D9D51250057BD54 /* String+Localization.swift */; }; + E126CBB31DB68DDA00E1B2F8 /* UICollectionView+CellRegistration.swift in Sources */ = {isa = PBXBuildFile; fileRef = E126CBB21DB68DDA00E1B2F8 /* UICollectionView+CellRegistration.swift */; }; + E126CBB51DB6904B00E1B2F8 /* UICollectionView+DequeueCustomCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = E126CBB41DB6904B00E1B2F8 /* UICollectionView+DequeueCustomCell.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -113,6 +115,8 @@ 78D4B5451DA64D49005B0764 /* UIViewController+DefaultStoryboardIdentifier.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+DefaultStoryboardIdentifier.swift"; sourceTree = ""; }; 78D4B5491DA64EAB005B0764 /* Any+TypeName.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Any+TypeName.swift"; sourceTree = ""; }; 95B39A851D9D51250057BD54 /* String+Localization.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+Localization.swift"; sourceTree = ""; }; + E126CBB21DB68DDA00E1B2F8 /* UICollectionView+CellRegistration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UICollectionView+CellRegistration.swift"; path = "UICollectionView/UICollectionView+CellRegistration.swift"; sourceTree = ""; }; + E126CBB41DB6904B00E1B2F8 /* UICollectionView+DequeueCustomCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UICollectionView+DequeueCustomCell.swift"; path = "UICollectionView/UICollectionView+DequeueCustomCell.swift"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -309,6 +313,7 @@ 787783611CA03C84001CDC9B /* IndexPath */, 78E59B2C1C786CD500C6BFE9 /* UIView */, 78E59B2B1C786CBF00C6BFE9 /* UITableView */, + E126CBB11DB68D9A00E1B2F8 /* UICollectionView */, C37210711ACDF1042F70C2EB /* UIImage */, 780D23411DA412330084620D /* CGImage */, 780D23441DA416E80084620D /* CGContext */, @@ -386,6 +391,15 @@ path = UIStoryboard; sourceTree = ""; }; + E126CBB11DB68D9A00E1B2F8 /* UICollectionView */ = { + isa = PBXGroup; + children = ( + E126CBB21DB68DDA00E1B2F8 /* UICollectionView+CellRegistration.swift */, + E126CBB41DB6904B00E1B2F8 /* UICollectionView+DequeueCustomCell.swift */, + ); + name = UICollectionView; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -552,6 +566,7 @@ files = ( 7837F60F1CBCF5C0000D74C1 /* EstimatedViewHeightProtocol.swift in Sources */, 78CFEE541C5C45E500F50370 /* UIView+LoadFromNib.swift in Sources */, + E126CBB51DB6904B00E1B2F8 /* UICollectionView+DequeueCustomCell.swift in Sources */, 78D4B5461DA64D49005B0764 /* UIViewController+DefaultStoryboardIdentifier.swift in Sources */, 78CFEE521C5C45E500F50370 /* UITableView+CellRegistration.swift in Sources */, 78B0FC7F1C6B2C4D00358B64 /* Log.swift in Sources */, @@ -578,6 +593,7 @@ 78CFEE5A1C5C45E500F50370 /* ViewHeightProtocol.swift in Sources */, 787682FA1CAD40C300532AB3 /* StaticEstimatedViewHeightProtocol.swift in Sources */, 78A74EA91C6B373700FE9724 /* UIView+DefaultNibName.swift in Sources */, + E126CBB31DB68DDA00E1B2F8 /* UICollectionView+CellRegistration.swift in Sources */, 78CFEE581C5C45E500F50370 /* StaticViewHeightProtocol.swift in Sources */, 787783631CA03CA0001CDC9B /* IndexPath+ImmutableIndexPath.swift in Sources */, 78B036471DA5624D0021D5CC /* CGImage+Creation.swift in Sources */, diff --git a/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+CellRegistration.swift b/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+CellRegistration.swift new file mode 100644 index 00000000..eb8e9b27 --- /dev/null +++ b/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+CellRegistration.swift @@ -0,0 +1,47 @@ +// +// UICollectionView+CellRegistration.swift +// LeadKit +// +// Created by Fedor on 18.10.16. +// Copyright © 2016 Touch Instinct. All rights reserved. +// + +import UIKit + +public extension UICollectionView { + /** + method which register UICollectionViewCell subclass for reusing in UICollectionView with reuse identifier + provided by ReuseIdentifierProtocol protocol implementation and nib name + provided by StaticNibNameProtocol protocol implementation + + - parameter cellClass: UICollectionViewCell subclass which implements ReuseIdentifierProtocol and StaticNibNameProtocol + + - see: ReuseIdentifierProtocol, StaticNibNameProtocol + */ + + public func registerNib(forCellClass cellClass: T.Type) + where T: ReuseIdentifierProtocol, T: UICollectionViewCell, T: StaticNibNameProtocol { + + self.register(UINib(nibName: T.nibName), forCellReuseIdentifier: T.reuseIdentifier) + } + + /** + method which register UICollectionViewCell subclass for reusing in UICollectionView with reuse identifier + provided by ReuseIdentifierProtocol protocol implementation and nib name + provided by NibNameProtocol protocol implementation + + - parameter cellClass: UICollectionViewCell subclass which implements ReuseIdentifierProtocol and NibNameProtocol + - parameter interfaceIdiom: UIUserInterfaceIdiom value for NibNameProtocol + + - see: ReuseIdentifierProtocol, NibNameProtocol + */ + + public func registerNib(forCellClass cellClass: T.Type, + forUserInterfaceIdiom interfaceIdiom: UIUserInterfaceIdiom) + where T: ReuseIdentifierProtocol, T: UICollectionViewCell, T: NibNameProtocol { + + let nib = UINib(nibName: T.nibName(forConfiguration: interfaceIdiom)) + self.register(nib, forCellReuseIdentifier: T.reuseIdentifier) + } + +} diff --git a/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+DequeueCustomCell.swift b/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+DequeueCustomCell.swift new file mode 100644 index 00000000..6185f67d --- /dev/null +++ b/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+DequeueCustomCell.swift @@ -0,0 +1,29 @@ +// +// UICollectionView+DequeueCustomCell.swift +// LeadKit +// +// Created by Fedor on 18.10.16. +// Copyright © 2016 Touch Instinct. All rights reserved. +// + +import UIKit + +public extension UICollectionView { + /** + method for dequeueing reusable table view cell with specific class using reuse identifier + provided by ReuseIdentifierProtocol implementation + + - parameter indexPath: NSIndexPath object + + - returns: UICollectionViewCell subclass instance + + - see: ReuseIdentifierProtocol + */ + + public func dequeueReusableCell(forIndexPath indexPath: IndexPath) -> T + where T: UICollectionViewCell, T: ReuseIdentifierProtocol { + + return self.dequeueReusableCell(withIdentifier: T.reuseIdentifier, for: indexPath) as! T + } + +} From 98981b8b0d04f0f74d32c15a7cfbdf142449f22e Mon Sep 17 00:00:00 2001 From: Fedor Semenchenko Date: Tue, 18 Oct 2016 21:41:07 +0300 Subject: [PATCH 2/3] code style --- .../UICollectionView/UICollectionView+CellRegistration.swift | 4 ++-- .../UICollectionView/UICollectionView+DequeueCustomCell.swift | 2 +- .../Extensions/UITableView/UITableView+CellRegistration.swift | 4 ++-- .../UITableView/UITableView+DequeueCustomCell.swift | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+CellRegistration.swift b/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+CellRegistration.swift index eb8e9b27..67a1d8a7 100644 --- a/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+CellRegistration.swift +++ b/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+CellRegistration.swift @@ -22,7 +22,7 @@ public extension UICollectionView { public func registerNib(forCellClass cellClass: T.Type) where T: ReuseIdentifierProtocol, T: UICollectionViewCell, T: StaticNibNameProtocol { - self.register(UINib(nibName: T.nibName), forCellReuseIdentifier: T.reuseIdentifier) + register(UINib(nibName: T.nibName), forCellReuseIdentifier: T.reuseIdentifier) } /** @@ -41,7 +41,7 @@ public extension UICollectionView { where T: ReuseIdentifierProtocol, T: UICollectionViewCell, T: NibNameProtocol { let nib = UINib(nibName: T.nibName(forConfiguration: interfaceIdiom)) - self.register(nib, forCellReuseIdentifier: T.reuseIdentifier) + register(nib, forCellReuseIdentifier: T.reuseIdentifier) } } diff --git a/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+DequeueCustomCell.swift b/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+DequeueCustomCell.swift index 6185f67d..5cdf547d 100644 --- a/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+DequeueCustomCell.swift +++ b/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+DequeueCustomCell.swift @@ -23,7 +23,7 @@ public extension UICollectionView { public func dequeueReusableCell(forIndexPath indexPath: IndexPath) -> T where T: UICollectionViewCell, T: ReuseIdentifierProtocol { - return self.dequeueReusableCell(withIdentifier: T.reuseIdentifier, for: indexPath) as! T + return dequeueReusableCell(withIdentifier: T.reuseIdentifier, for: indexPath) as! T } } diff --git a/LeadKit/LeadKit/Extensions/UITableView/UITableView+CellRegistration.swift b/LeadKit/LeadKit/Extensions/UITableView/UITableView+CellRegistration.swift index 56913de5..2a4cf110 100644 --- a/LeadKit/LeadKit/Extensions/UITableView/UITableView+CellRegistration.swift +++ b/LeadKit/LeadKit/Extensions/UITableView/UITableView+CellRegistration.swift @@ -22,7 +22,7 @@ public extension UITableView { public func registerNib(forCellClass cellClass: T.Type) where T: ReuseIdentifierProtocol, T: UITableViewCell, T: StaticNibNameProtocol { - self.register(UINib(nibName: T.nibName), forCellReuseIdentifier: T.reuseIdentifier) + register(UINib(nibName: T.nibName), forCellReuseIdentifier: T.reuseIdentifier) } /** @@ -41,7 +41,7 @@ public extension UITableView { where T: ReuseIdentifierProtocol, T: UITableViewCell, T: NibNameProtocol { let nib = UINib(nibName: T.nibName(forConfiguration: interfaceIdiom)) - self.register(nib, forCellReuseIdentifier: T.reuseIdentifier) + register(nib, forCellReuseIdentifier: T.reuseIdentifier) } } diff --git a/LeadKit/LeadKit/Extensions/UITableView/UITableView+DequeueCustomCell.swift b/LeadKit/LeadKit/Extensions/UITableView/UITableView+DequeueCustomCell.swift index c340d198..25e90bd6 100644 --- a/LeadKit/LeadKit/Extensions/UITableView/UITableView+DequeueCustomCell.swift +++ b/LeadKit/LeadKit/Extensions/UITableView/UITableView+DequeueCustomCell.swift @@ -23,7 +23,7 @@ extension UITableView { public func dequeueReusableCell(forIndexPath indexPath: IndexPath) -> T where T: UITableViewCell, T: ReuseIdentifierProtocol { - return self.dequeueReusableCell(withIdentifier: T.reuseIdentifier, for: indexPath) as! T + return dequeueReusableCell(withIdentifier: T.reuseIdentifier, for: indexPath) as! T } } From 3366c34abe127b7e67794a58b131fb2e3d2b304d Mon Sep 17 00:00:00 2001 From: Fedor Semenchenko Date: Wed, 19 Oct 2016 17:03:37 +0300 Subject: [PATCH 3/3] collection view support --- LeadKit/LeadKit.xcodeproj/project.pbxproj | 8 ----- .../UICollectionView+DequeueCustomCell.swift | 29 ------------------- .../UITableView+DequeueCustomCell.swift | 29 ------------------- 3 files changed, 66 deletions(-) delete mode 100644 LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+DequeueCustomCell.swift delete mode 100644 LeadKit/LeadKit/Extensions/UITableView/UITableView+DequeueCustomCell.swift diff --git a/LeadKit/LeadKit.xcodeproj/project.pbxproj b/LeadKit/LeadKit.xcodeproj/project.pbxproj index ae786c22..b52f2fdd 100644 --- a/LeadKit/LeadKit.xcodeproj/project.pbxproj +++ b/LeadKit/LeadKit.xcodeproj/project.pbxproj @@ -40,7 +40,6 @@ 78CFEE351C5C456B00F50370 /* LeadKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 78CFEE2A1C5C456B00F50370 /* LeadKit.framework */; }; 78CFEE3A1C5C456B00F50370 /* LeadKitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78CFEE391C5C456B00F50370 /* LeadKitTests.swift */; }; 78CFEE521C5C45E500F50370 /* UITableView+CellRegistration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78CFEE461C5C45E500F50370 /* UITableView+CellRegistration.swift */; }; - 78CFEE531C5C45E500F50370 /* UITableView+DequeueCustomCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78CFEE471C5C45E500F50370 /* UITableView+DequeueCustomCell.swift */; }; 78CFEE541C5C45E500F50370 /* UIView+LoadFromNib.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78CFEE481C5C45E500F50370 /* UIView+LoadFromNib.swift */; }; 78CFEE551C5C45E500F50370 /* NibNameProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78CFEE4A1C5C45E500F50370 /* NibNameProtocol.swift */; }; 78CFEE561C5C45E500F50370 /* ReuseIdentifierProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78CFEE4B1C5C45E500F50370 /* ReuseIdentifierProtocol.swift */; }; @@ -53,7 +52,6 @@ 78D4B54A1DA64EAB005B0764 /* Any+TypeName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78D4B5491DA64EAB005B0764 /* Any+TypeName.swift */; }; 95B39A861D9D51250057BD54 /* String+Localization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B39A851D9D51250057BD54 /* String+Localization.swift */; }; E126CBB31DB68DDA00E1B2F8 /* UICollectionView+CellRegistration.swift in Sources */ = {isa = PBXBuildFile; fileRef = E126CBB21DB68DDA00E1B2F8 /* UICollectionView+CellRegistration.swift */; }; - E126CBB51DB6904B00E1B2F8 /* UICollectionView+DequeueCustomCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = E126CBB41DB6904B00E1B2F8 /* UICollectionView+DequeueCustomCell.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -103,7 +101,6 @@ 78CFEE391C5C456B00F50370 /* LeadKitTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LeadKitTests.swift; sourceTree = ""; }; 78CFEE3B1C5C456B00F50370 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 78CFEE461C5C45E500F50370 /* UITableView+CellRegistration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UITableView+CellRegistration.swift"; path = "LeadKit/Extensions/UITableView/UITableView+CellRegistration.swift"; sourceTree = SOURCE_ROOT; }; - 78CFEE471C5C45E500F50370 /* UITableView+DequeueCustomCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UITableView+DequeueCustomCell.swift"; path = "LeadKit/Extensions/UITableView/UITableView+DequeueCustomCell.swift"; sourceTree = SOURCE_ROOT; }; 78CFEE481C5C45E500F50370 /* UIView+LoadFromNib.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UIView+LoadFromNib.swift"; path = "LeadKit/Extensions/UIView/UIView+LoadFromNib.swift"; sourceTree = SOURCE_ROOT; }; 78CFEE4A1C5C45E500F50370 /* NibNameProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NibNameProtocol.swift; sourceTree = ""; }; 78CFEE4B1C5C45E500F50370 /* ReuseIdentifierProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReuseIdentifierProtocol.swift; sourceTree = ""; }; @@ -116,7 +113,6 @@ 78D4B5491DA64EAB005B0764 /* Any+TypeName.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Any+TypeName.swift"; sourceTree = ""; }; 95B39A851D9D51250057BD54 /* String+Localization.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+Localization.swift"; sourceTree = ""; }; E126CBB21DB68DDA00E1B2F8 /* UICollectionView+CellRegistration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UICollectionView+CellRegistration.swift"; path = "UICollectionView/UICollectionView+CellRegistration.swift"; sourceTree = ""; }; - E126CBB41DB6904B00E1B2F8 /* UICollectionView+DequeueCustomCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UICollectionView+DequeueCustomCell.swift"; path = "UICollectionView/UICollectionView+DequeueCustomCell.swift"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -360,7 +356,6 @@ isa = PBXGroup; children = ( 78CFEE461C5C45E500F50370 /* UITableView+CellRegistration.swift */, - 78CFEE471C5C45E500F50370 /* UITableView+DequeueCustomCell.swift */, ); path = UITableView; sourceTree = ""; @@ -395,7 +390,6 @@ isa = PBXGroup; children = ( E126CBB21DB68DDA00E1B2F8 /* UICollectionView+CellRegistration.swift */, - E126CBB41DB6904B00E1B2F8 /* UICollectionView+DequeueCustomCell.swift */, ); name = UICollectionView; sourceTree = ""; @@ -566,7 +560,6 @@ files = ( 7837F60F1CBCF5C0000D74C1 /* EstimatedViewHeightProtocol.swift in Sources */, 78CFEE541C5C45E500F50370 /* UIView+LoadFromNib.swift in Sources */, - E126CBB51DB6904B00E1B2F8 /* UICollectionView+DequeueCustomCell.swift in Sources */, 78D4B5461DA64D49005B0764 /* UIViewController+DefaultStoryboardIdentifier.swift in Sources */, 78CFEE521C5C45E500F50370 /* UITableView+CellRegistration.swift in Sources */, 78B0FC7F1C6B2C4D00358B64 /* Log.swift in Sources */, @@ -576,7 +569,6 @@ 787783671CA04D4A001CDC9B /* String+SizeCalculation.swift in Sources */, 78B036431DA4FEC90021D5CC /* CGImage+Transform.swift in Sources */, 78011A641D47ABC500EA16A2 /* UIView+DefaultReuseIdentifier.swift in Sources */, - 78CFEE531C5C45E500F50370 /* UITableView+DequeueCustomCell.swift in Sources */, 786D78EC1D53C46E006B2CEA /* AlamofireManager+Extensions.swift in Sources */, 78B0FC811C6B2CD500358B64 /* App.swift in Sources */, 78B036491DA562C30021D5CC /* CGImage+Template.swift in Sources */, diff --git a/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+DequeueCustomCell.swift b/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+DequeueCustomCell.swift deleted file mode 100644 index 5cdf547d..00000000 --- a/LeadKit/LeadKit/Extensions/UICollectionView/UICollectionView+DequeueCustomCell.swift +++ /dev/null @@ -1,29 +0,0 @@ -// -// UICollectionView+DequeueCustomCell.swift -// LeadKit -// -// Created by Fedor on 18.10.16. -// Copyright © 2016 Touch Instinct. All rights reserved. -// - -import UIKit - -public extension UICollectionView { - /** - method for dequeueing reusable table view cell with specific class using reuse identifier - provided by ReuseIdentifierProtocol implementation - - - parameter indexPath: NSIndexPath object - - - returns: UICollectionViewCell subclass instance - - - see: ReuseIdentifierProtocol - */ - - public func dequeueReusableCell(forIndexPath indexPath: IndexPath) -> T - where T: UICollectionViewCell, T: ReuseIdentifierProtocol { - - return dequeueReusableCell(withIdentifier: T.reuseIdentifier, for: indexPath) as! T - } - -} diff --git a/LeadKit/LeadKit/Extensions/UITableView/UITableView+DequeueCustomCell.swift b/LeadKit/LeadKit/Extensions/UITableView/UITableView+DequeueCustomCell.swift deleted file mode 100644 index 25e90bd6..00000000 --- a/LeadKit/LeadKit/Extensions/UITableView/UITableView+DequeueCustomCell.swift +++ /dev/null @@ -1,29 +0,0 @@ -// -// UITableViewCell+DequeueFromTableView.swift -// Knapsack -// -// Created by Иван Смолин on 24/01/16. -// Copyright © 2016 Touch Instinct. All rights reserved. -// - -import UIKit - -extension UITableView { - /** - method for dequeueing reusable table view cell with specific class using reuse identifier - provided by ReuseIdentifierProtocol implementation - - - parameter indexPath: NSIndexPath object - - - returns: UITableViewCell subclass instance - - - see: ReuseIdentifierProtocol - */ - - public func dequeueReusableCell(forIndexPath indexPath: IndexPath) -> T - where T: UITableViewCell, T: ReuseIdentifierProtocol { - - return dequeueReusableCell(withIdentifier: T.reuseIdentifier, for: indexPath) as! T - } - -}