Changelog History
Page 2
-
v3.0.0 Changes
November 14, 2016- Converted library and Demo project to Swift 3.
💥 ⚠️ BREAKING CHANGES ⚠️ The following methods have new signatures:dequeueReusableCell(indexPath:)
is nowdequeueReusableCell(for:)
dequeueReusableCell(indexPath:cellType:)
is nowdequeueReusableCell(for:cellType:)
registerReusableCell(_:)
is nowregister(cellType:)
registerReusableHeaderFooterView(_:)
is nowregister(headerFooterViewType:)
registerReusableSupplementaryView(_:viewType:)
is nowregister(supplementaryViewType:ofKind:)
dequeueReusableSupplementaryView(_:indexPath:viewType:)
is nowdequeueReusableSupplementaryView(ofKind:for:viewType:)
@phatblat
#30
@ceyhuno
#31
- Converted library and Demo project to Swift 3.
-
v2.5.1 Changes
- Adapted source files and demo project for Swift 2.3
@antondomashnev #16
- Adapted source files and demo project for Swift 2.3
-
v2.5.0 Changes
- ➕ Added the possibility for
NibOwnerLoadable
confirming custom views to pass an existing instance asowner
(used as the File's Owner) in case one already exists. This is especially useful to implementinit(coder:)
to load the content of the XIB as subviews ofself
after initialization. SeeMyCustomWidget.swift
for an example.
@AliSoftware
- ➕ Added the possibility for
-
v2.4.0 Changes
- ➕ Added
StoryboardBased
andStoryboardSceneBased
protocols for storyboard basedUIViewController
easy instantiation.
@AliSoftware
- ➕ Added
-
v2.3.0 Changes
- ➕ Added
NibOwnerLoadable
protocol forUIView
set as XIB's File's Owner.
@PoissonBallon #16
While the
NibLoadable
protocol is adapted to views loaded from XIB but that are set as the root view of the XIB, this newNibOwnerLoadable
protocol is adapted to view loaded from XIB too, but that are set as the XIB's File's Owner. - ➕ Added
-
v2.2.0 Changes
This parameter is only needed if you can't write
… as MyCell
(to let Swift infer the cell type from the return type), which might be the case for example when your cell class is stored in a variable:let cellType: Any.Type = self.cellTypeForIndexPath(indexPath) // Can't do this in this case (because cellType is a variable): let cell = tableView.dequeueReusableCell(indexPath: indexPath) as cellType ❌ // compiler error // But now we can use that alternate way for such cases: let cell = tableView.dequeueReusableCell(indexPath: indexPath, cellType: cellType)
But if you know the type at compile time, you can omit the
cellType
parameter and still do this, letting the return type infer it for you:let cell = tableView.dequeueReusableCell(indexPath: indexPath) as MyCell
-
v2.1.1 Changes
Made every method
final
to allow more optimizations.
@AliSoftwareBanned the use of
as!
in the source code in favour ofguard let x = y else { fatalError(…) }
. This avoids force-casts (which are considered bad practice) and generate a more explicit fatal error in case the developer forgot something (typically forgot to set the reuseIdentifier in IB).
@AliSoftware #6🛠 Fixed bundle location of nibs. By default,
nib: UINib
ofNibLoadable
protocol will now use the nib located in the bundle of the conforming class.
@chrisamanse #10🛠 Fixed issue with subclasses of types conforming to
Reusable
— due to the Swift bug SR-617.
@chrisamanse #2
-
v2.1.0 Changes
- ➕ Added support for direct instantiation of arbitrary
UIView
from a nib.
@jakubvano #5
There is now a dedicated
NibLoadable
protocol which can be used on any arbitraryUIView
(even non-"reusable" views) to load it from a XIB (via theloadFromNib()
function injected via the protocol extension)._The
NibReusable
protocol still exists for reusable cells but is now declared just as a combination of both theReusable
andNibLoadable
protocols. - ➕ Added support for direct instantiation of arbitrary
-
v2.0.0 Changes
- 🛠 Fixed missing
public
visibility for the protocols and extensions - 👌 Improved README documentation
- 🛠 Fixed missing