- Date extension (like ActiveRecord)
- DateFormatter convenience
- Array.each
- Int / NSTimeInterval
.every
, a block based for NSTimer - UIColor helpers
- UIView helpers
- Various helpers
- Easy localization
- iOS 7.0+ / Mac OS X 10.9+
- Xcode 6.1
pod 'SwiftHelpers'
pod 'SwiftHelpers/Basic'
contains localization helpers, as well as IBInspectable localization attributespod 'SwiftHelpers/Core'
contains core types helpers (comparison, array extensions, timers, ...)pod 'SwiftHelpers/CoreData'
contains CoreData helperspod 'SwiftHelpers/UI'
contains controllers and viewspod 'SwiftHelpers/DateTime'
contains Date related helpers and formatterspod 'SwiftHelpers/Misc'
contains miscellanous helpers (credit card, keyboard, notifications...)
For application targets that do not support embedded frameworks, such as iOS 7, SwiftHelpers can be integrated by including the
SwiftHelpers
folder directly, wrapping the top-level types instruct SwiftHelpers
to simulate a namespace. Yes, this sucks.
Due to the current lack of proper infrastructure for Swift dependency management, using SwiftHelpers in your project requires the following steps:
- Add SwiftHelpers as a submodule by opening the Terminal,
cd
-ing into your top-level project directory, and entering the commandgit submodule add https://github.com/dmiotti/SwiftHelpers
- Open the
SwiftHelpers
folder, and dragSwiftHelpers.xcodeproj
into the file navigator of your app project. - In Xcode, navigate to the target configuration window by clicking on the blue project icon, and selecting the application target under the "Targets" heading in the sidebar.
- Ensure that the deployment target of SwiftHelpers.framework matches that of the application target.
- In the tab bar at the top of that window, open the "Build Phases" panel.
- Expand the "Target Dependencies" group, and add
SwiftHelpers.framework
. - Click on the
+
button at the top left of the panel and select "New Copy Files Phase". Rename this new phase to "Copy Frameworks", set the "Destination" to "Frameworks", and addSwiftHelpers.framework
.
Everything is documented, check it out
You can subclass SHCommonInitView
and override commonInit()
. This function will be called not matter if the view was created programmaticaly like SHCommonInitView()
or in Storyboard.
The same apply with SHCommonInitTableViewCell
and SHCommonInitCollectionViewCell
.
import SwiftHelpers
let date1 = NSDate()
let date2 = date1.dateByAddingTimeInterval(10) // 10 seconds later
if date1 > date2 {
println("date1 > date2")
}
if date1 < date2 {
println("date1 < date2")
}
if date1 <= date2 {
println("date1 <= date2")
}
....
import SwiftHelpers
let yesterday = 1.day.ago
let firstJanuary = 1.january
let inTwoDays = NSDate() + 2.days
let bornDate = 16.october.of(1986)
let nextBirthDay = bornDate.next
let tenSecondsLater = 10.seconds.fromNow
let laterOn = NSDate() + 1.month + 1.day + 10.seconds
each([1, 5]) { item in
let number = item as Int
...
}
10.each { number in
let nextNumber = number + 3
}
let dateFormatter = NSDateFormatter(dateFormat: "d EEEE MMMM yyyy")
You can run Unit Tests using Xcode default behavior.
- David Miotti ([email protected])
- Guillaume Bellue ([email protected])
- Maxime de Chalendar ([email protected])