SwiftyConfiguration is modern Swift API for Plist.
create plist file and add your project.
extension Keys {
static let string = Key<String>("string")
static let url = Key<NSURL>("url")
static let number = Key<NSNumber>("number")
static let int = Key<Int>("int")
static let float = Key<Float>("float")
static let double = Key<Double>("double")
static let date = Key<NSDate>("date")
static let bool = Key<Bool>("bool")
static let array = Key<Array<AnyObject>>("array")
static let dictionary = Key<[String : String]>("dictionary")
// Support nested value.
static let innerInt = Key<Int>("array.0")
static let innerArray = Key<String>("array.1.0")
static let innerString = Key<String>("dictionary.innerString")
}
let plistPath = NSBundle.mainBundle().pathForResource("Configuration", ofType: "plist")!
let config = Configuration(plistPath: plistPath)!
// You can get a plist value to type-safe.
let stringValue = config.get(.string)!
let urlValue = config.get(.url)!
let numberValue = config.get(.number)!
let intValue = config.get(.int)!
let floatValue = config.get(.float)!
let doubleValue = config.get(.double)!
let dateValue = config.get(.date)!
let boolValue = config.get(.bool)!
let arrayValue = config.get(.array)!
let dictionaryValue = config.get(.dictionary)!
let innerIntValue = config.get(.innerInt)!
let innerArrayValue = config.get(.innerArray)!
let innerStringValue = config.get(.innerString)!
SwiftyConfiguration
is available through Carthage. To install it, simply add the following line to your Cartfile:
github "ykyouhei/SwiftyConfiguration"
SwiftyConfiguration
is available on CocoaPods.
Add the following to your Podfile
:
pod 'SwiftyConfiguration'
Just add the Classes folder to your project.