home-assistant / Iconic

:art: Auto-generated icon font library for iOS, watchOS and tvOS
Apache License 2.0
1.58k stars 86 forks source link

Swifty version + Swift 2.3 migration #51

Closed dzenbot closed 7 years ago

dzenbot commented 7 years ago

This PR introduces a long standing modification to the library, to fully adopt Swift features like protocol-oriented interfaces + default implementation. Mostly inspired in the suggestions from @AliSoftware in https://github.com/dzenbot/Iconic/issues/2 and @connectdotz's great work in https://github.com/dzenbot/Iconic/pull/26. This would have not been possible without your guidance, so thank you! 💪

The IconDrawable protocol defines and implements the basic features of Iconic. And like @connectdotz suggested, the Iconic class is used as a wrapper for Objc compatibility. image

Closes https://github.com/dzenbot/Iconic/issues/2, fixes https://github.com/dzenbot/Iconic/issues/24 and closes https://github.com/dzenbot/Iconic/pull/26

dzenbot commented 7 years ago

Would love your input about this @connectdotz. It does not yet support multiple fonts, but I'm planning on adding that next. Builds are mainly failing because the SwiftGen fork also needs to be updated to Swift 3.

robotelio commented 7 years ago
1 Warning
:warning: This PR is too big. Consider breaking it down into multiple PRs.

Generated by :no_entry_sign: danger

codecov-io commented 7 years ago

Current coverage is 82.65% (diff: 82.65%)

Diff Coverage File Path
•••••••• 82% new Source/IconDrawable.swift

No coverage report found for master at dc7b14f.

Powered by Codecov. Last update dc7b14f...f9d78e2