diff --git a/SwiftGen.playground/Pages/Colors-Demo.xcplaygroundpage/Contents.swift b/SwiftGen.playground/Pages/Colors-Demo.xcplaygroundpage/Contents.swift index 5c7b13e8..62dc7406 100644 --- a/SwiftGen.playground/Pages/Colors-Demo.xcplaygroundpage/Contents.swift +++ b/SwiftGen.playground/Pages/Colors-Demo.xcplaygroundpage/Contents.swift @@ -1,62 +1,49 @@ //: #### Other pages //: -//: * [Demo for `swiftgen strings`](Strings-Demo) -//: * [Demo for `swiftgen images`](Images-Demo) -//: * [Demo for `swiftgen storyboards`](Storyboards-Demo) //: * Demo for `swiftgen colors` //: * [Demo for `swiftgen fonts`](Fonts-Demo) +//: * [Demo for `swiftgen storyboards`](Storyboards-Demo) +//: * [Demo for `swiftgen strings`](Strings-Demo) +//: * [Demo for `swiftgen xcassets`](XCAssets-Demo) //: #### Example of code generated by swiftgen-colors import UIKit.UIColor +typealias Color = UIColor -extension UIColor { - convenience init(rgbaValue: UInt32) { - let red = CGFloat((rgbaValue >> 24) & 0xff) / 255.0 - let green = CGFloat((rgbaValue >> 16) & 0xff) / 255.0 - let blue = CGFloat((rgbaValue >> 8) & 0xff) / 255.0 - let alpha = CGFloat((rgbaValue ) & 0xff) / 255.0 - - self.init(red: red, green: green, blue: blue, alpha: alpha) - } +extension Color { + convenience init(rgbaValue: UInt32) { + let red = CGFloat((rgbaValue >> 24) & 0xff) / 255.0 + let green = CGFloat((rgbaValue >> 16) & 0xff) / 255.0 + let blue = CGFloat((rgbaValue >> 8) & 0xff) / 255.0 + let alpha = CGFloat((rgbaValue ) & 0xff) / 255.0 + + self.init(red: red, green: green, blue: blue, alpha: alpha) + } } -enum ColorName { - /// - /// Alpha: 100%
(0x339666ff) - case articleBody - /// - /// Alpha: 100%
(0xff66ccff) - case articleFootnote - /// - /// Alpha: 100%
(0x33fe66ff) - case articleTitle - /// - /// Alpha: 100%
(0xff66ccff) - case cyanColor - /// - /// Alpha: 80%
(0xffffffcc) - case translucent - - var rgbaValue: UInt32 { - switch self { - case .articleBody: return 0x339666ff - case .articleFootnote: return 0xff66ccff - case .articleTitle: return 0x33fe66ff - case .cyanColor: return 0xff66ccff - case .translucent: return 0xffffffcc - } - } - - var color: UIColor { - return UIColor(named: self) - } +struct ColorName { + let rgbaValue: UInt32 + var color: Color { return Color(named: self) } + + /// + /// Alpha: 100%
(0x339666ff) + static let articleBody = ColorName(rgbaValue: 0x339666ff) + /// + /// Alpha: 100%
(0xff66ccff) + static let articleFootnote = ColorName(rgbaValue: 0xff66ccff) + /// + /// Alpha: 100%
(0x33fe66ff) + static let articleTitle = ColorName(rgbaValue: 0x33fe66ff) + /// + /// Alpha: 80%
(0xffffffcc) + static let `private` = ColorName(rgbaValue: 0xffffffcc) } -extension UIColor { - convenience init(named name: ColorName) { - self.init(rgbaValue: name.rgbaValue) - } +extension Color { + convenience init(named color: ColorName) { + self.init(rgbaValue: color.rgbaValue) + } } //: #### Usage Example @@ -64,7 +51,7 @@ extension UIColor { UIColor(named: .articleTitle) ColorName.articleBody.color UIColor(named: .articleBody) -UIColor(named: .translucent) -/* Only possible if you used `enumBuilder.build(generateStringInit: true)` to generate the enum */ -//let orange = UIColor(hexString: "#ffcc88") +UIColor(named: .private) + +/* convenience initializer */ let lightGreen = UIColor(rgbaValue: 0x00ff88ff) diff --git a/SwiftGen.playground/Pages/Fonts-Demo.xcplaygroundpage/Contents.swift b/SwiftGen.playground/Pages/Fonts-Demo.xcplaygroundpage/Contents.swift index 6fe21d68..60279d65 100644 --- a/SwiftGen.playground/Pages/Fonts-Demo.xcplaygroundpage/Contents.swift +++ b/SwiftGen.playground/Pages/Fonts-Demo.xcplaygroundpage/Contents.swift @@ -1,43 +1,66 @@ //: #### Other pages -//: * [Demo for `swiftgen strings`](Colors-Demo) -//: * [Demo for `swiftgen images`](Images-Demo) -//: * [Demo for `swiftgen storyboards`](Storyboards-Demo) +//: //: * [Demo for `swiftgen colors`](Colors-Demo) //: * Demo for `swiftgen fonts` +//: * [Demo for `swiftgen storyboards`](Storyboards-Demo) +//: * [Demo for `swiftgen strings`](Strings-Demo) +//: * [Demo for `swiftgen xcassets`](XCAssets-Demo) //: #### Example of code generated by swiftgen-fonts import UIKit.UIFont +typealias Font = UIFont -protocol FontConvertible { - func font(size: CGFloat) -> UIFont! +struct FontConvertible { + let name: String + let family: String + let path: String + + func font(size: CGFloat) -> Font! { + return Font(font: self, size: size) + } + + func register() { + let bundle = Bundle(for: BundleToken.self) + + guard let url = bundle.url(forResource: path, withExtension: nil) else { + return + } + + var errorRef: Unmanaged? + CTFontManagerRegisterFontsForURL(url as CFURL, .process, &errorRef) + } } -extension FontConvertible where Self: RawRepresentable, Self.RawValue == String { - func font(size: CGFloat) -> UIFont! { - return UIFont(font: self, size: size) +extension Font { + convenience init!(font: FontConvertible, size: CGFloat) { + #if os(iOS) || os(tvOS) || os(watchOS) + if UIFont.fontNames(forFamilyName: font.family).isEmpty { + font.register() } -} + #elseif os(OSX) + if NSFontManager.shared().availableMembers(ofFontFamily: font.family) == nil { + font.register() + } + #endif -extension UIFont { - convenience init! - (font: FontType, size: CGFloat) - where FontType: RawRepresentable, FontType.RawValue == String { - self.init(name: font.rawValue, size: size) - } + self.init(name: font.name, size: size) + } } struct FontFamily { - enum Helvetica: String, FontConvertible { - case regular = "Helvetica" - case bold = "Helvetica-Bold" + enum Helvetica { + static let regular = FontConvertible(name: "Helvetica", family: "Helvetica", path: "Helvetica.ttf") + static let bold = FontConvertible(name: "Helvetica-Bold", family: "Helvetica", path: "Helvetica-Bold.ttf") } - enum HelveticaNeue: String, FontConvertible { - case regular = "HelveticaNeue" - case bold = "HelveticaNeue-Bold" + enum HelveticaNeue { + static let regular = FontConvertible(name: "HelveticaNeue", family: "HelveticaNeue", path: "HelveticaNeue.ttf") + static let bold = FontConvertible(name: "HelveticaNeue-Bold", family: "HelveticaNeue", path: "HelveticaNeue-Bold.ttf") } } +private final class BundleToken {} + //: #### Usage Example // Using the UIFont constructor… let helvetica = UIFont(font: FontFamily.Helvetica.regular, size: 20.0) diff --git a/SwiftGen.playground/Pages/Images-Demo.xcplaygroundpage/Contents.swift b/SwiftGen.playground/Pages/Images-Demo.xcplaygroundpage/Contents.swift deleted file mode 100644 index 07650518..00000000 --- a/SwiftGen.playground/Pages/Images-Demo.xcplaygroundpage/Contents.swift +++ /dev/null @@ -1,40 +0,0 @@ -//: #### Other pages -//: -//: * [Demo for `swiftgen strings`](Strings-Demo) -//: * Demo for `swiftgen images` -//: * [Demo for `swiftgen storyboards`](Storyboards-Demo) -//: * [Demo for `swiftgen colors`](Colors-Demo) -//: * [Demo for `swiftgen fonts`](Fonts-Demo) - -//: #### Example of code generated by swiftgen-assets - -// Generated using SwiftGen, by O.Halligon — https://github.com/SwiftGen/SwiftGen - -import UIKit - -enum Asset: String { - case exoticBanana = "Exotic/Banana" - case exoticMango = "Exotic/Mango" - case lemon = "Lemon" - case roundApricot = "Round/Apricot" - case roundOrange = "Round/Orange" - case roundApple = "Round/Apple" - case roundDoubleCherry = "Round/Double/Cherry" - case roundTomato = "Round/Tomato" - - var image: UIImage { - return UIImage(asset: self) - } -} - -extension UIImage { - convenience init!(asset: Asset) { - self.init(named: asset.rawValue) - } -} - -//: #### Usage Example - -let image = UIImage(asset: .exoticBanana) - -Asset.roundTomato.image diff --git a/SwiftGen.playground/Pages/Images-Demo.xcplaygroundpage/timeline.xctimeline b/SwiftGen.playground/Pages/Images-Demo.xcplaygroundpage/timeline.xctimeline deleted file mode 100644 index eaf0a4c8..00000000 --- a/SwiftGen.playground/Pages/Images-Demo.xcplaygroundpage/timeline.xctimeline +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/SwiftGen.playground/Pages/Storyboards-Demo.xcplaygroundpage/Contents.swift b/SwiftGen.playground/Pages/Storyboards-Demo.xcplaygroundpage/Contents.swift index 9fe1a90d..4b142cce 100644 --- a/SwiftGen.playground/Pages/Storyboards-Demo.xcplaygroundpage/Contents.swift +++ b/SwiftGen.playground/Pages/Storyboards-Demo.xcplaygroundpage/Contents.swift @@ -1,107 +1,92 @@ //: #### Other pages //: -//: * [Demo for `swiftgen strings`](Strings-Demo) -//: * [Demo for `swiftgen images`](Images-Demo) -//: * Demo for `swiftgen storyboards` //: * [Demo for `swiftgen colors`](Colors-Demo) //: * [Demo for `swiftgen fonts`](Fonts-Demo) +//: * Demo for `swiftgen storyboards` +//: * [Demo for `swiftgen strings`](Strings-Demo) +//: * [Demo for `swiftgen xcassets`](XCAssets-Demo) class CreateAccViewController: UIViewController {} -//: #### Example of code generated by swiftgen-storyboard +//: #### Example of code generated by swiftgen-storyboards // Generated using SwiftGen, by O.Halligon — https://github.com/SwiftGen/SwiftGen import Foundation import UIKit -protocol StoryboardSceneType { +protocol StoryboardType { static var storyboardName: String { get } } -extension StoryboardSceneType { - static func storyboard() -> UIStoryboard { - return UIStoryboard(name: self.storyboardName, bundle: nil) - } - - static func initialViewController() -> UIViewController { - guard let vc = storyboard().instantiateInitialViewController() else { - fatalError("Failed to instantiate initialViewController for \(self.storyboardName)") - } - return vc - } +extension StoryboardType { + static var storyboard: UIStoryboard { + return UIStoryboard(name: self.storyboardName, bundle: Bundle(for: BundleToken.self)) + } } -extension StoryboardSceneType where Self: RawRepresentable, Self.RawValue == String { - func viewController() -> UIViewController { - return Self.storyboard().instantiateViewController(withIdentifier: self.rawValue) - } - static func viewController(identifier: Self) -> UIViewController { - return identifier.viewController() - } +struct SceneType { + let storyboard: StoryboardType.Type + let identifier: String + + var controller: T { + guard let controller = storyboard.storyboard.instantiateViewController(withIdentifier: identifier) as? T else { + fatalError("Controller '\(identifier)' is not of the expected class \(T.self).") + } + return controller + } } -protocol StoryboardSegueType: RawRepresentable { } +struct InitialSceneType { + let storyboard: StoryboardType.Type + + var controller: T { + guard let controller = storyboard.storyboard.instantiateInitialViewController() as? T else { + fatalError("Controller is not of the expected class \(T.self).") + } + return controller + } +} + +protocol SegueType: RawRepresentable { } extension UIViewController { - func perform(segue: S, sender: Any? = nil) where S.RawValue == String { - performSegue(withIdentifier: segue.rawValue, sender: sender) - } + func perform(segue: S, sender: Any? = nil) where S.RawValue == String { + performSegue(withIdentifier: segue.rawValue, sender: sender) + } } struct StoryboardScene { - enum Wizard: String, StoryboardSceneType { + enum Wizard: StoryboardType { static let storyboardName = "Wizard" - static func initialViewController() -> CreateAccViewController { - guard let vc = storyboard().instantiateInitialViewController() as? CreateAccViewController else { - fatalError("Failed to instantiate initialViewController for \(self.storyboardName)") - } - return vc - } + static let initialScene = InitialSceneType(storyboard: Wizard.self) - case acceptCGUScene = "Accept-CGU" - static func instantiateAcceptCGU() -> UIViewController { - return StoryboardScene.Wizard.acceptCGUScene.viewController() - } + static let acceptCGU = SceneType(storyboard: Wizard.self, identifier: "Accept-CGU") - case createAccountScene = "CreateAccount" - static func instantiateCreateAccount() -> CreateAccViewController { - guard let vc = StoryboardScene.Wizard.createAccountScene.viewController() as? CreateAccViewController - else { - fatalError("ViewController 'CreateAccount' is not of the expected class CreateAccViewController.") - } - return vc - } - - case preferencesScene = "Preferences" - static func instantiatePreferences() -> UITableViewController { - guard let vc = StoryboardScene.Wizard.preferencesScene.viewController() as? UITableViewController - else { - fatalError("ViewController 'Preferences' is not of the expected class UITableViewController.") - } - return vc - } - - case validatePasswordScene = "Validate_Password" - static func instantiateValidatePassword() -> UIViewController { - return StoryboardScene.Wizard.validatePasswordScene.viewController() - } + static let createAccount = SceneType(storyboard: Wizard.self, identifier: "CreateAccount") + + static let preferences = SceneType(storyboard: Wizard.self, identifier: "Preferences") + + static let validatePassword = SceneType(storyboard: Wizard.self, identifier: "Validate_Password") } } struct StoryboardSegue { - enum Wizard: String, StoryboardSegueType { + enum Wizard: String, SegueType { case showPassword = "ShowPassword" } } +private final class BundleToken {} + //: #### Usage Example -let createAccountVC = StoryboardScene.Wizard.createAccountScene.viewController() +let createAccountVC = StoryboardScene.Wizard.createAccount.controller +type(of: createAccountVC) createAccountVC.title -let validateVC = StoryboardScene.Wizard.validatePasswordScene.viewController() +let validateVC = StoryboardScene.Wizard.validatePassword.controller validateVC.title let segue = StoryboardSegue.Wizard.showPassword @@ -120,10 +105,10 @@ you can easily switch or directly compare the passed in `segue` with the corresp segues for a specific storyboard. *******************************************************************************/ //override func prepareForSegue(_ segue: UIStoryboardSegue, sender sender: AnyObject?) { -// switch UIStoryboard.Segue.Message(rawValue: segue.identifier)! { -// case .Custom: +// switch UIStoryboard.Segue.Message(rawValue: segue.identifier ?? "")! { +// case .custom: // // Prepare for your custom segue transition -// case .NonCustom: +// case .nonCustom: // // Pass in information to the destination View Controller // } //} diff --git a/SwiftGen.playground/Pages/Strings-Demo.xcplaygroundpage/Contents.swift b/SwiftGen.playground/Pages/Strings-Demo.xcplaygroundpage/Contents.swift index 1f48daf9..cb92974d 100644 --- a/SwiftGen.playground/Pages/Strings-Demo.xcplaygroundpage/Contents.swift +++ b/SwiftGen.playground/Pages/Strings-Demo.xcplaygroundpage/Contents.swift @@ -1,62 +1,47 @@ //: #### Other pages //: -//: * Demo for `swiftgen strings` -//: * [Demo for `swiftgen images`](Images-Demo) -//: * [Demo for `swiftgen storyboards`](Storyboards-Demo) //: * [Demo for `swiftgen colors`](Colors-Demo) //: * [Demo for `swiftgen fonts`](Fonts-Demo) +//: * [Demo for `swiftgen storyboards`](Storyboards-Demo) +//: * Demo for `swiftgen strings` +//: * [Demo for `swiftgen xcassets`](XCAssets-Demo) -//: #### Example of code generated by swiftgen-l10n +//: #### Example of code generated by swiftgen-strings // Generated using SwiftGen, by O.Halligon — https://github.com/SwiftGen/SwiftGen import Foundation enum L10n { - case alertMessage - case alertTitle - case applesCount(Int) - case bananasOwner(Int, String) - case greetings(String, Int) - case objectOwnership(Int, String, String) -} -// swiftlint:enable type_body_length - -extension L10n: CustomStringConvertible { - var description: String { return self.string } - - var string: String { - switch self { - case .alertMessage: - return L10n.tr(key: "alert_message") - case .alertTitle: - return L10n.tr(key: "alert_title") - case .applesCount(let p0): - return L10n.tr(key: "apples.count", p0) - case .bananasOwner(let p0, let p1): - return L10n.tr(key: "bananas.owner", p0, p1) - case .greetings(let p0, let p1): - return L10n.tr(key: "greetings", p0, p1) - case .objectOwnership(let p0, let p1, let p2): - return L10n.tr(key: "ObjectOwnership", p0, p1, p2) - } - } - - private static func tr(key: String, _ args: CVarArg...) -> String { - let format = NSLocalizedString(key, comment: "") - return String(format: format, locale: Locale.current, arguments: args) - } + static let alertMessage = L10n.tr("Localizable", "alert_message") + static let alertTitle = L10n.tr("Localizable", "alert_title") + static func applesCount(_ p1: Int) -> String { + return L10n.tr("Localizable", "apples.count", p1) + } + static func bananasOwner(_ p1: Int, _ p2: String) -> String { + return L10n.tr("Localizable", "bananas.owner", p1, p2) + } + static func `private`(_ p1: String, _ p2: Int) -> String { + return L10n.tr("Localizable", "private", p1, p2) + } + static func objectOwnership(_ p1: Int, _ p2: String, _ p3: String) -> String { + return L10n.tr("Localizable", "ObjectOwnership", p1, p2, p3) + } } -func tr(_ key: L10n) -> String { - return key.string +extension L10n { + fileprivate static func tr(_ table: String, _ key: String, _ args: CVarArg...) -> String { + let format = NSLocalizedString(key, tableName: table, bundle: Bundle(for: BundleToken.self), comment: "") + return String(format: format, locale: Locale.current, arguments: args) + } } +private final class BundleToken {} //: #### Usage example -let alertTitle = tr(.alertTitle) -let hello1 = tr(.greetings("David", 29)) -let hello2 = L10n.greetings("Olivier", 32) // Prints as a string in the console because it's CustomStringConvertible +let alertTitle = L10n.alertTitle +let hello1 = L10n.private("David", 29) +let hello2 = L10n.private("Olivier", 32) // Prints as a string in the console because it's CustomStringConvertible // note the inversion of parameters' order due to usage of %1$d, %2$@ and %1$@ in Localizable.strings -tr(.objectOwnership(3, "Apples", "John")) +L10n.objectOwnership(3, "Apples", "John") diff --git a/SwiftGen.playground/Pages/XCAssets-Demo.xcplaygroundpage/Contents.swift b/SwiftGen.playground/Pages/XCAssets-Demo.xcplaygroundpage/Contents.swift new file mode 100644 index 00000000..5b4d72f1 --- /dev/null +++ b/SwiftGen.playground/Pages/XCAssets-Demo.xcplaygroundpage/Contents.swift @@ -0,0 +1,81 @@ +//: #### Other pages +//: +//: * [Demo for `swiftgen colors`](Colors-Demo) +//: * [Demo for `swiftgen fonts`](Fonts-Demo) +//: * [Demo for `swiftgen storyboards`](Storyboards-Demo) +//: * [Demo for `swiftgen strings`](Strings-Demo) +//: * Demo for `swiftgen xcassets` + +//: #### Example of code generated by swiftgen-xcassets + +// Generated using SwiftGen, by O.Halligon — https://github.com/SwiftGen/SwiftGen + +import UIKit +typealias Image = UIImage + +struct AssetType: ExpressibleByStringLiteral { + fileprivate var value: String + + var image: Image { + let bundle = Bundle(for: BundleToken.self) + #if os(iOS) || os(tvOS) + let image = Image(named: value, in: bundle, compatibleWith: nil) + #elseif os(OSX) + let image = bundle.image(forResource: value) + #elseif os(watchOS) + let image = Image(named: value) + #endif + guard let result = image else { fatalError("Unable to load image \(value).") } + return result + } + + init(stringLiteral value: String) { + self.value = value + } + + init(extendedGraphemeClusterLiteral value: String) { + self.init(stringLiteral: value) + } + + init(unicodeScalarLiteral value: String) { + self.init(stringLiteral: value) + } +} + +enum Asset { + enum Exotic { + static let banana: AssetType = "Exotic/Banana" + static let mango: AssetType = "Exotic/Mango" + } + static let `private`: AssetType = "private" + enum Round { + static let apricot: AssetType = "Round/Apricot" + static let orange: AssetType = "Round/Orange" + enum Red { + static let apple: AssetType = "Round/Apple" + enum Double { + static let cherry: AssetType = "Round/Double/Cherry" + } + static let tomato: AssetType = "Round/Tomato" + } + } +} + +extension Image { + convenience init!(asset: AssetType) { + #if os(iOS) || os(tvOS) + let bundle = Bundle(for: BundleToken.self) + self.init(named: asset.value, in: bundle, compatibleWith: nil) + #elseif os(OSX) || os(watchOS) + self.init(named: asset.value) + #endif + } +} + +private final class BundleToken {} + +//: #### Usage Example + +let image = UIImage(asset: Asset.Exotic.banana) + +Asset.Round.Red.tomato.image diff --git a/SwiftGen.playground/Resources/Assets.car b/SwiftGen.playground/Resources/Assets.car index 69a21e56..92e21d96 100644 Binary files a/SwiftGen.playground/Resources/Assets.car and b/SwiftGen.playground/Resources/Assets.car differ diff --git a/SwiftGen.playground/Resources/Localizable.strings b/SwiftGen.playground/Resources/Localizable.strings index 6c7cddc3..79fb563e 100644 Binary files a/SwiftGen.playground/Resources/Localizable.strings and b/SwiftGen.playground/Resources/Localizable.strings differ diff --git a/SwiftGen.playground/Resources/Wizard.storyboardc/30h-14-fok-view-rJE-c0-6Bp.nib b/SwiftGen.playground/Resources/Wizard.storyboardc/30h-14-fok-view-rJE-c0-6Bp.nib index ba2d556a..a76eb417 100644 Binary files a/SwiftGen.playground/Resources/Wizard.storyboardc/30h-14-fok-view-rJE-c0-6Bp.nib and b/SwiftGen.playground/Resources/Wizard.storyboardc/30h-14-fok-view-rJE-c0-6Bp.nib differ diff --git a/SwiftGen.playground/Resources/Wizard.storyboardc/Accept-CGU.nib b/SwiftGen.playground/Resources/Wizard.storyboardc/Accept-CGU.nib index 1d4b907f..83f9382e 100644 Binary files a/SwiftGen.playground/Resources/Wizard.storyboardc/Accept-CGU.nib and b/SwiftGen.playground/Resources/Wizard.storyboardc/Accept-CGU.nib differ diff --git a/SwiftGen.playground/Resources/Wizard.storyboardc/CreateAccount.nib b/SwiftGen.playground/Resources/Wizard.storyboardc/CreateAccount.nib index 10cf1f93..849cf9c7 100644 Binary files a/SwiftGen.playground/Resources/Wizard.storyboardc/CreateAccount.nib and b/SwiftGen.playground/Resources/Wizard.storyboardc/CreateAccount.nib differ diff --git a/SwiftGen.playground/Resources/Wizard.storyboardc/Info.plist b/SwiftGen.playground/Resources/Wizard.storyboardc/Info.plist index a923b335..209ef2a8 100644 Binary files a/SwiftGen.playground/Resources/Wizard.storyboardc/Info.plist and b/SwiftGen.playground/Resources/Wizard.storyboardc/Info.plist differ diff --git a/SwiftGen.playground/Resources/Wizard.storyboardc/Preferences.nib b/SwiftGen.playground/Resources/Wizard.storyboardc/Preferences.nib index e5f41731..a6a02dfe 100644 Binary files a/SwiftGen.playground/Resources/Wizard.storyboardc/Preferences.nib and b/SwiftGen.playground/Resources/Wizard.storyboardc/Preferences.nib differ diff --git a/SwiftGen.playground/Resources/Wizard.storyboardc/Validate_Password.nib b/SwiftGen.playground/Resources/Wizard.storyboardc/Validate_Password.nib index c7432eaf..d1bfdccd 100644 Binary files a/SwiftGen.playground/Resources/Wizard.storyboardc/Validate_Password.nib and b/SwiftGen.playground/Resources/Wizard.storyboardc/Validate_Password.nib differ diff --git a/SwiftGen.playground/Resources/Wizard.storyboardc/designable.storyboard b/SwiftGen.playground/Resources/Wizard.storyboardc/designable.storyboard index aefc90eb..bc76b280 100644 --- a/SwiftGen.playground/Resources/Wizard.storyboardc/designable.storyboard +++ b/SwiftGen.playground/Resources/Wizard.storyboardc/designable.storyboard @@ -1,8 +1,11 @@ - - + + + + + - - + + @@ -14,18 +17,18 @@ - + - + @@ -45,9 +48,9 @@ - + - + @@ -63,9 +66,9 @@ - + - + @@ -77,15 +80,15 @@ - + - + - + - + diff --git a/SwiftGen.playground/Resources/Wizard.storyboardc/rJ7-m2-Mn7-view-wtR-sc-VB5.nib b/SwiftGen.playground/Resources/Wizard.storyboardc/rJ7-m2-Mn7-view-wtR-sc-VB5.nib index 7b23ffac..4915dfee 100644 Binary files a/SwiftGen.playground/Resources/Wizard.storyboardc/rJ7-m2-Mn7-view-wtR-sc-VB5.nib and b/SwiftGen.playground/Resources/Wizard.storyboardc/rJ7-m2-Mn7-view-wtR-sc-VB5.nib differ diff --git a/SwiftGen.playground/Resources/Wizard.storyboardc/txY-Mc-CKa-view-wQH-MG-v6Y.nib b/SwiftGen.playground/Resources/Wizard.storyboardc/txY-Mc-CKa-view-wQH-MG-v6Y.nib index d1416c63..5dad9e5f 100644 Binary files a/SwiftGen.playground/Resources/Wizard.storyboardc/txY-Mc-CKa-view-wQH-MG-v6Y.nib and b/SwiftGen.playground/Resources/Wizard.storyboardc/txY-Mc-CKa-view-wQH-MG-v6Y.nib differ diff --git a/SwiftGen.playground/Resources/Wizard.storyboardc/w6o-YQ-YLg-view-N1u-m6-6Oc.nib b/SwiftGen.playground/Resources/Wizard.storyboardc/w6o-YQ-YLg-view-N1u-m6-6Oc.nib index fc505175..cb86aae9 100644 Binary files a/SwiftGen.playground/Resources/Wizard.storyboardc/w6o-YQ-YLg-view-N1u-m6-6Oc.nib and b/SwiftGen.playground/Resources/Wizard.storyboardc/w6o-YQ-YLg-view-N1u-m6-6Oc.nib differ diff --git a/SwiftGen.playground/contents.xcplayground b/SwiftGen.playground/contents.xcplayground index 8445721f..705f0662 100644 --- a/SwiftGen.playground/contents.xcplayground +++ b/SwiftGen.playground/contents.xcplayground @@ -1,10 +1,10 @@ - - - + + + \ No newline at end of file