dzenbot/DZNEmptyDataSet

Rewrite in Swift

Open

#174 opened on Dec 18, 2015

View on GitHub
 (17 comments) (16 reactions) (0 assignees)Objective-C (1,720 forks)batch import
enhancementhelp wanted

Repository metrics

Stars
 (12,027 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

🚧 Work in progress in v2-swift branch 🚧


It has been really great noticing how DZNEmptyDataSet has been useful for so many people, making their work easier and users happier and more engaged. I still believe this component should be part of UIKit, and since it still isn't, it should be a very user-friendly component the same way Apple would have designed it.

It's time to bring this library to a higher level, making it more robust, cleaner and simple. As part of v2, I've been thinking a lot about rewriting it in Swift. I'm still very new to Swift, but it's a fun challenge and it's totally worth it.

These are the few things to consider while re-writing DZNEmptyDataSet:

  • Make it fully backwards compatible: The public APIs must be available in v2
  • Consider porting all the current features
  • Keep using Auto-Layout programatically so we can build dynamic layout constraints
  • Make it as much Protocol-Oriented as possible
  • Swizzling is risky, but reliable. I wonder if there's a better way in Swift.
  • Rewrite sample projects in Swift
  • Keep Cocoapods and Carthage support

New things to include:

  • Add Unit and UI tests
  • Swift Package support

Contributor guide