Latest | 0.0.1 |
---|---|
Homepage | https://github.com/ahmedAlmasri/SNAdapter |
License | MIT |
Platforms | ios 10.0 |
Authors |
Example
To run the example project, clone the repo, and run pod install
from the Example directory first.
Using
Step 1: Import the SNAdapter
module in swift.
import SNAdapter
TableView
Step 1: declare new class or struct inherent form SNCellableModel
struct MyModel: SNCellableModel {
let title: String
}
Step 2: declare new UITableViewCell
inherent form SNCellable
class MyCell: UITableViewCell, SNCellable {
func configure(_ object: SNCellableModel?) {
guard let myModel = object as? MyModel else { return }
self.textLabel?.text = myModel.title
}
}
Step 3: Take a reference to SNTableViewSection
and SNTableViewAdapter
into your controller.
private var mySection: SNTableViewSection<MyModel, MyCell>!
private var myAdapter: SNTableViewAdapter!
Step 4: Initialize the SNTableViewSection
and SNTableViewAdapter
in your viewDidLoad .
override func viewDidLoad() {
super.viewDidLoad()
///....
// MARK: - call setup section
setupMySection()
///...
}
private func setupMySection() {
mySection = SNTableViewSection<MyModel, MyCell>(items: getMyListData())
myAdapter = SNTableViewAdapter(sections: [mySection])
myTableView.setAdapter(myAdapter)
}
private func getMyListData() -> [MyModel] {
return [MyModel(title: "Item 1"), MyModel(title: "Item 2")]
}
More Example
CollectionView
Step 1: declare new UICollectionViewCell
inherent form SNCellable
class MyCell: UICollectionViewCell, SNCellable {
@IBOutlet weak var titleLabel: UILabel!
func configure(_ object: SNCellableModel?) {
guard let myModel = object as? MyModel else { return }
titleLabel.text = myModel.title
}
}
Step 2: Take a reference to SNCollectionViewSection
and SNCollectionViewAdapter
into your controller.
private var mySection: SNCollectionViewSection<MyModel, MyCell>!
private var myAdapter: SNCollectionViewAdapter!
Step 3: Initialize the SNCollectionViewSection
and SNCollectionViewAdapter
in your viewDidLoad .
override func viewDidLoad() {
super.viewDidLoad()
///....
// MARK: - call setup section
setupMySection()
///...
}
private func setupMySection() {
mySection = SNCollectionViewSection<MyModel, MyCell>(items: getMyListData())
myAdapter = SNCollectionViewAdapter(sections: [mySection])
myCollectionView.setAdapter(myAdapter)
}
private func getMyListData() -> [MyModel] {
return [MyModel(title: "Item 1"), MyModel(title: "Item 2")]
}
More Example
Requirements
- Swift 4.2+
- Xcode 10.0+
- iOS 11.0+
Installation
SNAdapter is available through CocoaPods. To install
it, simply add the following line to your Podfile:
pod 'SNAdapter'
Author
ahmedAlmasri, [email protected]
License
SNAdapter is available under the MIT license. See the LICENSE file for more info.
Latest podspec
{ "name": "SNAdapter", "version": "0.0.1", "swift_versions": "4.2", "summary": "iOS swift tableview and collectionView Adapter, powered by generics and associated types.", "homepage": "https://github.com/ahmedAlmasri/SNAdapter", "license": { "type": "MIT", "file": "LICENSE" }, "authors": { "ahmedAlmasri": "[email protected]" }, "source": { "git": "https://github.com/ahmedAlmasri/SNAdapter.git", "tag": "0.0.1_beta" }, "platforms": { "ios": "10.0" }, "source_files": "SNAdapter/Classes/**/*", "swift_version": "4.2" }
Fri, 31 May 2019 10:11:09 +0000