From 6a513d94568a9542830c3b573a4dddbe3f7aae36 Mon Sep 17 00:00:00 2001 From: Zachary Smith Date: Wed, 22 Apr 2015 18:11:37 -0700 Subject: [PATCH] prepping for 1.0.0 --- .gitignore | 31 +++ AwfulBindingUI/AwfulBindingUI.h | 19 -- Cartfile | 2 +- Podfile | 3 + README.md | 167 +++++++----- SwiftBindingUI.podspec | 22 ++ .../project.pbxproj | 239 +++++++++++++----- .../xcschemes/AwfulBindingUI.xcscheme | 36 +-- .../BindableButton.swift | 2 +- .../BindableCollectionSection.swift | 4 +- .../BindableCollectionView.swift | 2 +- .../BindableImageView.swift | 31 ++- .../BindableLabel.swift | 2 +- .../BindableSearchBar.swift | 2 +- .../BindableSwitch.swift | 4 +- .../BindableTableSection.swift | 4 +- .../BindableTableView.swift | 2 +- .../BindableTextField.swift | 2 +- .../BindableTextView.swift | 2 +- .../BindableView.swift | 4 +- {AwfulBindingUI => SwiftBindingUI}/Info.plist | 0 .../PBindableCollectionSection.swift | 4 +- .../PBindableTableSection.swift | 4 +- .../PHiddenBindable.swift | 4 +- .../PTextBindable.swift | 4 +- SwiftBindingUI/SwiftBindingUI.h | 19 ++ .../Info.plist | 0 .../SwiftBindingUITests.swift | 6 +- 28 files changed, 425 insertions(+), 196 deletions(-) create mode 100644 .gitignore delete mode 100644 AwfulBindingUI/AwfulBindingUI.h create mode 100644 Podfile create mode 100644 SwiftBindingUI.podspec rename {AwfulBindingUI.xcodeproj => SwiftBindingUI.xcodeproj}/project.pbxproj (61%) rename {AwfulBindingUI.xcodeproj => SwiftBindingUI.xcodeproj}/xcshareddata/xcschemes/AwfulBindingUI.xcscheme (76%) rename {AwfulBindingUI => SwiftBindingUI}/BindableButton.swift (99%) rename {AwfulBindingUI => SwiftBindingUI}/BindableCollectionSection.swift (97%) rename {AwfulBindingUI => SwiftBindingUI}/BindableCollectionView.swift (99%) rename {AwfulBindingUI => SwiftBindingUI}/BindableImageView.swift (70%) rename {AwfulBindingUI => SwiftBindingUI}/BindableLabel.swift (98%) rename {AwfulBindingUI => SwiftBindingUI}/BindableSearchBar.swift (99%) rename {AwfulBindingUI => SwiftBindingUI}/BindableSwitch.swift (98%) rename {AwfulBindingUI => SwiftBindingUI}/BindableTableSection.swift (97%) rename {AwfulBindingUI => SwiftBindingUI}/BindableTableView.swift (99%) rename {AwfulBindingUI => SwiftBindingUI}/BindableTextField.swift (99%) rename {AwfulBindingUI => SwiftBindingUI}/BindableTextView.swift (99%) rename {AwfulBindingUI => SwiftBindingUI}/BindableView.swift (95%) rename {AwfulBindingUI => SwiftBindingUI}/Info.plist (100%) rename {AwfulBindingUI => SwiftBindingUI}/PBindableCollectionSection.swift (92%) rename AwfulBindingUI/PBindableTextSection.swift => SwiftBindingUI/PBindableTableSection.swift (91%) rename {AwfulBindingUI => SwiftBindingUI}/PHiddenBindable.swift (85%) rename {AwfulBindingUI => SwiftBindingUI}/PTextBindable.swift (85%) create mode 100644 SwiftBindingUI/SwiftBindingUI.h rename {AwfulBindingUITests => SwiftBindingUITests}/Info.plist (100%) rename AwfulBindingUITests/AwfulBindingUITests.swift => SwiftBindingUITests/SwiftBindingUITests.swift (89%) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..20b1e40 --- /dev/null +++ b/.gitignore @@ -0,0 +1,31 @@ +# Xcode +# +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate +.DS_Store + +*.xcworkspace +Podfile.lock + + +# CocoaPods +# +# We recommend against adding the Pods directory to your .gitignore. However +# you should judge for yourself, the pros and cons are mentioned at: +# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control +# +Pods/ \ No newline at end of file diff --git a/AwfulBindingUI/AwfulBindingUI.h b/AwfulBindingUI/AwfulBindingUI.h deleted file mode 100644 index 4655bb9..0000000 --- a/AwfulBindingUI/AwfulBindingUI.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// AwfulBindingUI.h -// AwfulBindingUI -// -// Created by Zachary Smith on 1/29/15. -// Copyright (c) 2015 Scal.io. All rights reserved. -// - -#import - -//! Project version number for AwfulBindingUI. -FOUNDATION_EXPORT double AwfulBindingUIVersionNumber; - -//! Project version string for AwfulBindingUI. -FOUNDATION_EXPORT const unsigned char AwfulBindingUIVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - - diff --git a/Cartfile b/Cartfile index d359cc2..50bf75a 100644 --- a/Cartfile +++ b/Cartfile @@ -1 +1 @@ -github "zacharyclaysmith/AwfulBinding" \ No newline at end of file +github "zacharyclaysmith/SwiftBinding" \ No newline at end of file diff --git a/Podfile b/Podfile new file mode 100644 index 0000000..070e973 --- /dev/null +++ b/Podfile @@ -0,0 +1,3 @@ +source 'https://github.com/CocoaPods/Specs.git' +use_frameworks! +pod 'SwiftBinding' \ No newline at end of file diff --git a/README.md b/README.md index e90b21b..cc0d8a2 100644 --- a/README.md +++ b/README.md @@ -1,121 +1,164 @@ -# AwfulBindingUI -A library of simple UI components built around the AwfulBinding library. +# SwiftBindingUI +A library of simple UI components built around the SwiftBinding library. ## Installation 1. Carthage -* Add `github "zacharyclaysmith/AwfulBindingUI"` to your Cartfile -* Run `carthage update` + * Add `github "zacharyclaysmith/SwiftBindingUI"` to your Cartfile + * Run `carthage update` 2. CocoaPods -*Not yet supported* + * pod 'SwiftBindingUI' 3. Manual Installation -Just pull down the repo and build it, then include the framework in your project. + * Just pull down the repo and build it, then include the framework in your project. + +## Goals/Philosophy +Generally, as a long-time MVC (aka MVVM, MV*, etc.) advocate, Apple's delegate pattern hurts my heart (and my sanity). Here's a brief summary on why I started this framework and goals I try to work towards when modifying it: + +1. Reactive UI beats Imperative UI + * I want my elements to decide what to do based on their data...manually grabbing UI elements and modifying them is effective but not at all sustainable. +2. Ease the inconsistencies between base UIKit elements. + * Apple's built in UI elements are ridiculously inconsistent...Compare BindableTextField and BindableTextView's implementations to get a good idea. ## Usage ### BindableTextField +Generally known as the king of any binding framework, I've tried to make this guy as simple to use as possible. + +Bindable Properties: + * textBinding: a `BindableValue` that is 2-way bound to the `text` property. + * hiddenBinding: a `BindableValue` that is bound to the `hidden` property. ``` -import AwfulBinding -import AwfulBindingUI +import SwiftBinding +import SwiftBindingUI public class SomeViewController:UIViewController{ - private var _text = BindableValue(initialValue:"Hello") + private let _text = BindableValue(value:"Hello") - @IBOutlet weak var textField:BindableTextField! //NOTE: tied to a storyboard element of type BindableTextField. + @IBOutlet weak var textField:BindableTextField! //NOTE: This is tied to a storyboard/xib element of type BindableTextField. override public viewDidLoad(){ super.viewDidLoad() - textField.bindableValue = _text //EFFECT: textField's text is now set to "Hello" + textField.textBinding = _text //EFFECT: textField's text is now set to "Hello" - _text = "Test" //EFFECT textField's teext is now "Test" + _text.value = "Test" //EFFECT textField's text is now "Test" + + //UI EFFECT: changes to the textField in the UI will update the value of _text } } ``` ### BindableTextView -This works almost identically to the BindableTextField +This works almost identically to the BindableTextField. + +Bindable Properties: + * textBinding: a `BindableValue` that is 2-way bound to the `text` property. + * hiddenBinding: a `BindableValue` that is bound to the `hidden` property. ``` -import AwfulBinding -import AwfulBindingUI +import SwiftBinding +import SwiftBindingUI public class SomeViewController:UIViewController{ - private var _text = BindableValue(initialValue:"Hello") + private var _text = BindableValue(value:"Hello") @IBOutlet weak var textView:BindableTextView! //NOTE: tied to a storyboard element of type BindableTextView. override public viewDidLoad(){ super.viewDidLoad() - textView.bindableValue = _text //EFFECT: textView's text is now set to "Hello" + textField.textBinding = _text //EFFECT: textField's text is now set to "Hello" - _text = "Test" //EFFECT textField's teext is now "Test" + _text.value = "Test" //EFFECT textField's text is now "Test" + + //UI EFFECT: changes to the textField in the UI will update the value of _text } } ``` ### BindableImageView -``` -import AwfulBinding -import AwfulBindingUI +Bindable Properties: + * imageBinding: a `BindableValue` that is bound to the `image` property. + * hiddenBinding: a `BindableValue` that is bound to the `hidden` property. -public class SomeViewController:UIViewController{ - private var _text = BindableValue(initialValue:"Hello") +Other Properties: + * nilImage: an optional `UIImage?` that is used whenever the value property of `imageBinding` is nil. - @IBOutlet weak var textView:BindableTextView! //NOTE: tied to a storyboard element of type BindableTextView. +### BindableLabel - override public viewDidLoad(){ - super.viewDidLoad() +Bindable Properties: + * textBinding: a `BindableValue` that is bound to the `text` property. + * hiddenBinding: a `BindableValue` that is bound to the `hidden` property. - textView.bindableValue = _text //EFFECT: textView's text is now set to "Hello" +### BindableView - _text = "Test" //EFFECT textField's teext is now "Test" - } -} -``` +Bindable Properties: + * hiddenBinding: a `BindableValue` that is bound to the `hidden` property. -### BindableTableView -NOTE: BindableTableView doesn't currently support sectioned data (i.e. the section count is hardcoded to 1)...this is planned for later. +### BindableSwitch -``` -import AwfulBinding -import AwfulBindingUI +Bindable Properties: + * onBinding: a `BindableValue` that is 2-way bound to the `on` property. + * hiddenBinding: a `BindableValue` that is bound to the `hidden` property. -public class SomeViewController:UIViewController{ - private var _data = BindableArray(initialValue:["Item 1", "Item 2", "Item 3"]) - - @IBOutlet weak var tableView:BindableTableView! //NOTE: tied to a storyboard element of type BindableTableView - - override public viewDidLoad(){ - super.viewDidLoad() +### BindableButton - tableView.cellForRowAtIndexPath = cellCreator - tableView.bindableArray = _data - } +Bindable Properties: + * `enabledBinding:BindableValue` - 2-way bound to the `enabled` property. + * `hiddenBinding:BindableValue` - bound to the `hidden` property. + * `textBinding:`BindableValue` - bound to the title of the button (uses the recommended `setTitle` method). NOTE: At this time, this only applies to the "Normal" state, but will be expanded as the demand arises. + * `imageBinding:BindableValue` - bound to the image of the button (uses the recommended `setImage` method). NOTE: At this time, this only applies to the "Normal" state, but will be expanded as the demand arises. - private func cellCreator(indexPath:NSIndexPath) -> UITableViewCell{ - let cell = tableView.dequeueCellForIdentifier("SomeCellIdentifier", indexPath:indexPath) +### BindableSearchBar +Note that this implements its own UISearchBarDelegate, and overwriting the delegate property will break some aspects of its behavior. - let dataElement = _data[indexPath.row] +Bindable Properties: + * `textBinding: BindableValue` + * `hiddenBinding:BindableValue` - bound to the `hidden` property. - cell.textLabel.text = dataElement +Other Properties: + * `onBeginEditing: (() -> Void)?` + * `onEndEditing: (() -> Void)?` + * `onSearchButtonClick: (() -> Void)?` + * `onCancelButtonClick: (() -> Void)?` - return cell - } -} -``` +### BindableTableView +Note that this implements itself as its own `UITableViewDataSource` and `UITableViewDelegate`, and overwriting the `datasource` or `delegate` property will break some (most) aspects of its behavior. -### BindableCollectionView +TODO: very much a work in progress +TODO: more documentation and examples -``` -TODO -``` +Bindable Properties: + * `sections: BindableArray` - This is a collection of table sections. + * `singleSection:PBindableTableSection` - This is a convenience property that exposes the `sections` property as if it were a single section. I find I use this most often, as my tables are rarely sectioned in practice. + * `hiddenBinding:BindableValue` - bound to the `hidden` property. -### BindableButton +Other Properties: + * `reloadOnSelect:Bool` + * `onSelect:((section:PBindableTableSection, index:Int) -> Void)?` + * `defaultCellCreator:((sectionIndex:Int, index:Int) -> UITableViewCell)` + * `viewForHeaderInSection:((sectionIndex:Int) -> UIView)?` + * `viewForFooterInSection:((sectionIndex:Int) -> UIView)?` + * `deleteHandler:((indexPath:NSIndexPath) -> Void)?` -``` -TODO -``` \ No newline at end of file +### BindableCollectionView +Note that this implements itself as its own `UICollectionViewDataSource` and `UICollectionViewDelegate`, and overwriting the `datasource` or `delegate` property will break some (most) aspects of its behavior. + +TODO: very much a work in progress +TODO: more documentation and examples + +Bindable Properties: + * `sections: BindableArray` - This is a collection of table sections. + * `singleSection:PBindableTableSection` - This is a convenience property that exposes the `sections` property as if it were a single section. I find I use this most often, as my tables are rarely sectioned in practice. + * `hiddenBinding:BindableValue` - bound to the `hidden` property. + * `showFooterBinding:BindableValue` + +Other Properties: + * `reloadOnSelect:Bool` + * `onSelect:((section:PBindableTableSection, index:Int) -> Void)?` + * `defaultCellCreator:((sectionIndex:Int, index:Int) -> UITableViewCell)` + * `viewForHeaderInSection:((sectionIndex:Int) -> UIView)?` + * `viewForFooterInSection:((sectionIndex:Int) -> UIView)?` + * `deleteHandler:((indexPath:NSIndexPath) -> Void)?` diff --git a/SwiftBindingUI.podspec b/SwiftBindingUI.podspec new file mode 100644 index 0000000..56ad612 --- /dev/null +++ b/SwiftBindingUI.podspec @@ -0,0 +1,22 @@ +Pod::Spec.new do |s| + +s.name = "SwiftBindingUI" +s.version = "1.0.0" +s.summary = "A library of simple UI components built around the SwiftBinding library." + +s.description = <<-DESC +A library of the basic iOS UI components with added "binding" functionality built around the SwiftBinding library. +DESC + +s.homepage = "https://github.com/zacharyclaysmith/SwiftBindingUI" +s.license = { :type => "MIT", :file => "LICENSE.md" } +s.author = { "Zachary Clay Smith" => "Zachary.Clay.Smith@gmail.com" } +s.platform = :ios +s.ios.deployment_target = "8.0" + +s.source = { :git => "https://github.com/zacharyclaysmith/SwiftBindingUI.git", :tag => s.version } +s.source_files = "SwiftBindingUI/**/*.swift" +s.dependency 'SwiftBinding' +s.requires_arc = true + +end \ No newline at end of file diff --git a/AwfulBindingUI.xcodeproj/project.pbxproj b/SwiftBindingUI.xcodeproj/project.pbxproj similarity index 61% rename from AwfulBindingUI.xcodeproj/project.pbxproj rename to SwiftBindingUI.xcodeproj/project.pbxproj index c0dc64b..5f49a7f 100644 --- a/AwfulBindingUI.xcodeproj/project.pbxproj +++ b/SwiftBindingUI.xcodeproj/project.pbxproj @@ -7,30 +7,44 @@ objects = { /* Begin PBXBuildFile section */ - 5033B9E61A803C8E00516627 /* AwfulBinding.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5033B9E51A803C8E00516627 /* AwfulBinding.framework */; }; 504ECC031AA1A491006F05C2 /* BindableSwitch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504ECC021AA1A491006F05C2 /* BindableSwitch.swift */; }; 50544D5E1AC5E2B700BD1B8E /* PTextBindable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50544D5D1AC5E2B700BD1B8E /* PTextBindable.swift */; }; - 50544D5F1AC5E2B700BD1B8E /* PTextBindable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50544D5D1AC5E2B700BD1B8E /* PTextBindable.swift */; }; 50544D621AC5E39400BD1B8E /* PHiddenBindable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50544D611AC5E39400BD1B8E /* PHiddenBindable.swift */; }; - 50544D631AC5E39400BD1B8E /* PHiddenBindable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50544D611AC5E39400BD1B8E /* PHiddenBindable.swift */; }; - 50544D641AC5E87600BD1B8E /* AwfulBinding.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5033B9E51A803C8E00516627 /* AwfulBinding.framework */; }; 50965EF11A9A6FC100258080 /* BindableCollectionSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50965EF01A9A6FC100258080 /* BindableCollectionSection.swift */; }; - 50965EF31A9A6FDF00258080 /* PBindableTextSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50965EF21A9A6FDF00258080 /* PBindableTextSection.swift */; }; + 50965EF31A9A6FDF00258080 /* PBindableTableSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50965EF21A9A6FDF00258080 /* PBindableTableSection.swift */; }; 50965EF51A9A701200258080 /* PBindableCollectionSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50965EF41A9A701200258080 /* PBindableCollectionSection.swift */; }; 50AA32B41A8D49600073EA6A /* BindableTableSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50AA32B31A8D49600073EA6A /* BindableTableSection.swift */; }; 50AA32C71A8EC5A60073EA6A /* BindableLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50AA32C61A8EC5A60073EA6A /* BindableLabel.swift */; }; 50BB68951A8574A800842372 /* BindableCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50BB68941A8574A800842372 /* BindableCollectionView.swift */; }; - 50BDFB1E1A8980C800681CD6 /* README.md in Sources */ = {isa = PBXBuildFile; fileRef = 50BDFB1D1A8980C800681CD6 /* README.md */; }; 50BEF3121AA908A700790864 /* BindableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50BEF3111AA908A700790864 /* BindableView.swift */; }; - 50C4A0C21A7AEA8B0010C199 /* AwfulBindingUI.h in Headers */ = {isa = PBXBuildFile; fileRef = 50C4A0C11A7AEA8B0010C199 /* AwfulBindingUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 50C4A0C81A7AEA8B0010C199 /* AwfulBindingUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50C4A0BC1A7AEA8B0010C199 /* AwfulBindingUI.framework */; }; - 50C4A0CF1A7AEA8B0010C199 /* AwfulBindingUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C4A0CE1A7AEA8B0010C199 /* AwfulBindingUITests.swift */; }; + 50C4A0C21A7AEA8B0010C199 /* SwiftBindingUI.h in Headers */ = {isa = PBXBuildFile; fileRef = 50C4A0C11A7AEA8B0010C199 /* SwiftBindingUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 50C4A0C81A7AEA8B0010C199 /* SwiftBindingUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50C4A0BC1A7AEA8B0010C199 /* SwiftBindingUI.framework */; }; 50C4A0E51A7AEB300010C199 /* BindableButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C4A0E41A7AEB300010C199 /* BindableButton.swift */; }; 50C4A0EB1A7AEC970010C199 /* BindableTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C4A0E61A7AEC970010C199 /* BindableTextField.swift */; }; 50C4A0EC1A7AEC970010C199 /* BindableTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C4A0E71A7AEC970010C199 /* BindableTextView.swift */; }; 50C4A0ED1A7AEC970010C199 /* BindableImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C4A0E81A7AEC970010C199 /* BindableImageView.swift */; }; 50C4A0EE1A7AEC970010C199 /* BindableTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C4A0E91A7AEC970010C199 /* BindableTableView.swift */; }; 50C4A0EF1A7AEC970010C199 /* BindableSearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C4A0EA1A7AEC970010C199 /* BindableSearchBar.swift */; }; + 54C065B642E975FB8E577746 /* Pods.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CF324CF05A4F9B9CD14B852C /* Pods.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; + E459820A1AE85FBA008393A5 /* Pods.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45982091AE85FBA008393A5 /* Pods.framework */; }; + E459820E1AE87902008393A5 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E459820D1AE87902008393A5 /* UIKit.framework */; }; + E462F9271AE83A080019E621 /* PHiddenBindable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50544D611AC5E39400BD1B8E /* PHiddenBindable.swift */; }; + E462F9281AE83A080019E621 /* PTextBindable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50544D5D1AC5E2B700BD1B8E /* PTextBindable.swift */; }; + E462F9291AE83A080019E621 /* BindableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50BEF3111AA908A700790864 /* BindableView.swift */; }; + E462F92A1AE83A080019E621 /* BindableLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50AA32C61A8EC5A60073EA6A /* BindableLabel.swift */; }; + E462F92B1AE83A080019E621 /* BindableTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C4A0E61A7AEC970010C199 /* BindableTextField.swift */; }; + E462F92C1AE83A080019E621 /* BindableTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C4A0E71A7AEC970010C199 /* BindableTextView.swift */; }; + E462F92D1AE83A080019E621 /* BindableImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C4A0E81A7AEC970010C199 /* BindableImageView.swift */; }; + E462F92E1AE83A080019E621 /* BindableSearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C4A0EA1A7AEC970010C199 /* BindableSearchBar.swift */; }; + E462F92F1AE83A080019E621 /* BindableButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C4A0E41A7AEB300010C199 /* BindableButton.swift */; }; + E462F9301AE83A080019E621 /* BindableSwitch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504ECC021AA1A491006F05C2 /* BindableSwitch.swift */; }; + E462F9311AE83A080019E621 /* BindableTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C4A0E91A7AEC970010C199 /* BindableTableView.swift */; }; + E462F9321AE83A080019E621 /* BindableTableSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50AA32B31A8D49600073EA6A /* BindableTableSection.swift */; }; + E462F9331AE83A080019E621 /* PBindableTableSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50965EF21A9A6FDF00258080 /* PBindableTableSection.swift */; }; + E462F9341AE83A080019E621 /* BindableCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50BB68941A8574A800842372 /* BindableCollectionView.swift */; }; + E462F9351AE83A080019E621 /* BindableCollectionSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50965EF01A9A6FC100258080 /* BindableCollectionSection.swift */; }; + E462F9361AE83A080019E621 /* PBindableCollectionSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50965EF41A9A701200258080 /* PBindableCollectionSection.swift */; }; + E462F9381AE83BD30019E621 /* Podfile in Resources */ = {isa = PBXBuildFile; fileRef = E462F9371AE83BD30019E621 /* Podfile */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -39,36 +53,46 @@ containerPortal = 50C4A0B31A7AEA8B0010C199 /* Project object */; proxyType = 1; remoteGlobalIDString = 50C4A0BB1A7AEA8B0010C199; - remoteInfo = AwfulBindingUI; + remoteInfo = SwiftBindingUI; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 08E5ED2C1C043FACEB0252F2 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; }; 5033B9E41A803BC700516627 /* Cartfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Cartfile; sourceTree = ""; }; - 5033B9E51A803C8E00516627 /* AwfulBinding.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AwfulBinding.framework; path = Carthage/Build/iOS/AwfulBinding.framework; sourceTree = ""; }; + 5033B9E51A803C8E00516627 /* SwiftBinding.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftBinding.framework; path = Carthage/Build/iOS/SwiftBinding.framework; sourceTree = ""; }; 504ECC021AA1A491006F05C2 /* BindableSwitch.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BindableSwitch.swift; sourceTree = ""; }; 50544D5D1AC5E2B700BD1B8E /* PTextBindable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PTextBindable.swift; sourceTree = ""; }; 50544D611AC5E39400BD1B8E /* PHiddenBindable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PHiddenBindable.swift; sourceTree = ""; }; 50965EF01A9A6FC100258080 /* BindableCollectionSection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BindableCollectionSection.swift; sourceTree = ""; }; - 50965EF21A9A6FDF00258080 /* PBindableTextSection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PBindableTextSection.swift; sourceTree = ""; }; + 50965EF21A9A6FDF00258080 /* PBindableTableSection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PBindableTableSection.swift; sourceTree = ""; }; 50965EF41A9A701200258080 /* PBindableCollectionSection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PBindableCollectionSection.swift; sourceTree = ""; }; 50AA32B31A8D49600073EA6A /* BindableTableSection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BindableTableSection.swift; sourceTree = ""; }; 50AA32C61A8EC5A60073EA6A /* BindableLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BindableLabel.swift; sourceTree = ""; }; 50BB68941A8574A800842372 /* BindableCollectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BindableCollectionView.swift; sourceTree = ""; }; 50BDFB1D1A8980C800681CD6 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; 50BEF3111AA908A700790864 /* BindableView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BindableView.swift; sourceTree = ""; }; - 50C4A0BC1A7AEA8B0010C199 /* AwfulBindingUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AwfulBindingUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 50C4A0BC1A7AEA8B0010C199 /* SwiftBindingUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftBindingUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 50C4A0C01A7AEA8B0010C199 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 50C4A0C11A7AEA8B0010C199 /* AwfulBindingUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AwfulBindingUI.h; sourceTree = ""; }; - 50C4A0C71A7AEA8B0010C199 /* AwfulBindingUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AwfulBindingUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 50C4A0C11A7AEA8B0010C199 /* SwiftBindingUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SwiftBindingUI.h; sourceTree = ""; }; + 50C4A0C71A7AEA8B0010C199 /* SwiftBindingUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SwiftBindingUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 50C4A0CD1A7AEA8B0010C199 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 50C4A0CE1A7AEA8B0010C199 /* AwfulBindingUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AwfulBindingUITests.swift; sourceTree = ""; }; + 50C4A0CE1A7AEA8B0010C199 /* SwiftBindingUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftBindingUITests.swift; sourceTree = ""; }; 50C4A0E41A7AEB300010C199 /* BindableButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BindableButton.swift; sourceTree = ""; }; 50C4A0E61A7AEC970010C199 /* BindableTextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BindableTextField.swift; sourceTree = ""; }; 50C4A0E71A7AEC970010C199 /* BindableTextView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BindableTextView.swift; sourceTree = ""; }; 50C4A0E81A7AEC970010C199 /* BindableImageView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BindableImageView.swift; sourceTree = ""; }; 50C4A0E91A7AEC970010C199 /* BindableTableView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BindableTableView.swift; sourceTree = ""; }; 50C4A0EA1A7AEC970010C199 /* BindableSearchBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BindableSearchBar.swift; sourceTree = ""; }; + C241FD5F9C8B1498C8B9D78A /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; }; + CF324CF05A4F9B9CD14B852C /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E45982031AE85DCC008393A5 /* Pods.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Pods.framework; path = "Pods/../build/Debug-iphoneos/Pods.framework"; sourceTree = ""; }; + E45982051AE85E31008393A5 /* Pods.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Pods.framework; path = "Pods/../build/Debug-iphoneos/Pods.framework"; sourceTree = ""; }; + E45982071AE85E3F008393A5 /* SwiftBinding.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftBinding.framework; path = "Pods/../build/Debug-iphoneos/Pods/SwiftBinding.framework"; sourceTree = ""; }; + E45982091AE85FBA008393A5 /* Pods.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Pods.framework; path = "Pods/../build/Debug-iphoneos/Pods.framework"; sourceTree = ""; }; + E459820B1AE8655D008393A5 /* SwiftBindingUI.podspec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SwiftBindingUI.podspec; sourceTree = ""; }; + E459820D1AE87902008393A5 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + E462F9371AE83BD30019E621 /* Podfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Podfile; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -76,7 +100,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5033B9E61A803C8E00516627 /* AwfulBinding.framework in Frameworks */, + E459820E1AE87902008393A5 /* UIKit.framework in Frameworks */, + 54C065B642E975FB8E577746 /* Pods.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -84,8 +109,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 50544D641AC5E87600BD1B8E /* AwfulBinding.framework in Frameworks */, - 50C4A0C81A7AEA8B0010C199 /* AwfulBindingUI.framework in Frameworks */, + E459820A1AE85FBA008393A5 /* Pods.framework in Frameworks */, + 50C4A0C81A7AEA8B0010C199 /* SwiftBindingUI.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -95,7 +120,13 @@ 5033B9E71A803CAE00516627 /* Frameworks */ = { isa = PBXGroup; children = ( - 5033B9E51A803C8E00516627 /* AwfulBinding.framework */, + E459820D1AE87902008393A5 /* UIKit.framework */, + E45982091AE85FBA008393A5 /* Pods.framework */, + E45982071AE85E3F008393A5 /* SwiftBinding.framework */, + E45982051AE85E31008393A5 /* Pods.framework */, + E45982031AE85DCC008393A5 /* Pods.framework */, + 5033B9E51A803C8E00516627 /* SwiftBinding.framework */, + CF324CF05A4F9B9CD14B852C /* Pods.framework */, ); name = Frameworks; sourceTree = ""; @@ -122,7 +153,7 @@ children = ( 50C4A0E91A7AEC970010C199 /* BindableTableView.swift */, 50AA32B31A8D49600073EA6A /* BindableTableSection.swift */, - 50965EF21A9A6FDF00258080 /* PBindableTextSection.swift */, + 50965EF21A9A6FDF00258080 /* PBindableTableSection.swift */, ); name = Table; sourceTree = ""; @@ -140,34 +171,37 @@ 50C4A0B21A7AEA8B0010C199 = { isa = PBXGroup; children = ( + E459820B1AE8655D008393A5 /* SwiftBindingUI.podspec */, + E462F9371AE83BD30019E621 /* Podfile */, 50BDFB1D1A8980C800681CD6 /* README.md */, 5033B9E41A803BC700516627 /* Cartfile */, - 50C4A0BE1A7AEA8B0010C199 /* AwfulBindingUI */, - 50C4A0CB1A7AEA8B0010C199 /* AwfulBindingUITests */, + 50C4A0BE1A7AEA8B0010C199 /* SwiftBindingUI */, + 50C4A0CB1A7AEA8B0010C199 /* SwiftBindingUITests */, 50C4A0BD1A7AEA8B0010C199 /* Products */, 5033B9E71A803CAE00516627 /* Frameworks */, + 667EB83026076778C6CFB8A4 /* Pods */, ); sourceTree = ""; }; 50C4A0BD1A7AEA8B0010C199 /* Products */ = { isa = PBXGroup; children = ( - 50C4A0BC1A7AEA8B0010C199 /* AwfulBindingUI.framework */, - 50C4A0C71A7AEA8B0010C199 /* AwfulBindingUITests.xctest */, + 50C4A0BC1A7AEA8B0010C199 /* SwiftBindingUI.framework */, + 50C4A0C71A7AEA8B0010C199 /* SwiftBindingUITests.xctest */, ); name = Products; sourceTree = ""; }; - 50C4A0BE1A7AEA8B0010C199 /* AwfulBindingUI */ = { + 50C4A0BE1A7AEA8B0010C199 /* SwiftBindingUI */ = { isa = PBXGroup; children = ( 50544D611AC5E39400BD1B8E /* PHiddenBindable.swift */, 50544D5D1AC5E2B700BD1B8E /* PTextBindable.swift */, 50544D601AC5E36100BD1B8E /* Components */, - 50C4A0C11A7AEA8B0010C199 /* AwfulBindingUI.h */, + 50C4A0C11A7AEA8B0010C199 /* SwiftBindingUI.h */, 50C4A0BF1A7AEA8B0010C199 /* Supporting Files */, ); - path = AwfulBindingUI; + path = SwiftBindingUI; sourceTree = ""; }; 50C4A0BF1A7AEA8B0010C199 /* Supporting Files */ = { @@ -178,13 +212,13 @@ name = "Supporting Files"; sourceTree = ""; }; - 50C4A0CB1A7AEA8B0010C199 /* AwfulBindingUITests */ = { + 50C4A0CB1A7AEA8B0010C199 /* SwiftBindingUITests */ = { isa = PBXGroup; children = ( - 50C4A0CE1A7AEA8B0010C199 /* AwfulBindingUITests.swift */, + 50C4A0CE1A7AEA8B0010C199 /* SwiftBindingUITests.swift */, 50C4A0CC1A7AEA8B0010C199 /* Supporting Files */, ); - path = AwfulBindingUITests; + path = SwiftBindingUITests; sourceTree = ""; }; 50C4A0CC1A7AEA8B0010C199 /* Supporting Files */ = { @@ -195,6 +229,15 @@ name = "Supporting Files"; sourceTree = ""; }; + 667EB83026076778C6CFB8A4 /* Pods */ = { + isa = PBXGroup; + children = ( + C241FD5F9C8B1498C8B9D78A /* Pods.debug.xcconfig */, + 08E5ED2C1C043FACEB0252F2 /* Pods.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -202,34 +245,37 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 50C4A0C21A7AEA8B0010C199 /* AwfulBindingUI.h in Headers */, + 50C4A0C21A7AEA8B0010C199 /* SwiftBindingUI.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 50C4A0BB1A7AEA8B0010C199 /* AwfulBindingUI */ = { + 50C4A0BB1A7AEA8B0010C199 /* SwiftBindingUI */ = { isa = PBXNativeTarget; - buildConfigurationList = 50C4A0D21A7AEA8B0010C199 /* Build configuration list for PBXNativeTarget "AwfulBindingUI" */; + buildConfigurationList = 50C4A0D21A7AEA8B0010C199 /* Build configuration list for PBXNativeTarget "SwiftBindingUI" */; buildPhases = ( + 11C607E7EC707ED176F7D98A /* Check Pods Manifest.lock */, 50C4A0B71A7AEA8B0010C199 /* Sources */, 50C4A0B81A7AEA8B0010C199 /* Frameworks */, 50C4A0B91A7AEA8B0010C199 /* Headers */, 50C4A0BA1A7AEA8B0010C199 /* Resources */, + 6048B54A6C151BA05F8A539D /* Copy Pods Resources */, + 43E28A4BA5B01805394F586C /* Embed Pods Frameworks */, ); buildRules = ( ); dependencies = ( ); - name = AwfulBindingUI; - productName = AwfulBindingUI; - productReference = 50C4A0BC1A7AEA8B0010C199 /* AwfulBindingUI.framework */; + name = SwiftBindingUI; + productName = SwiftBindingUI; + productReference = 50C4A0BC1A7AEA8B0010C199 /* SwiftBindingUI.framework */; productType = "com.apple.product-type.framework"; }; - 50C4A0C61A7AEA8B0010C199 /* AwfulBindingUITests */ = { + 50C4A0C61A7AEA8B0010C199 /* SwiftBindingUITests */ = { isa = PBXNativeTarget; - buildConfigurationList = 50C4A0D51A7AEA8B0010C199 /* Build configuration list for PBXNativeTarget "AwfulBindingUITests" */; + buildConfigurationList = 50C4A0D51A7AEA8B0010C199 /* Build configuration list for PBXNativeTarget "SwiftBindingUITests" */; buildPhases = ( 50C4A0C31A7AEA8B0010C199 /* Sources */, 50C4A0C41A7AEA8B0010C199 /* Frameworks */, @@ -240,9 +286,9 @@ dependencies = ( 50C4A0CA1A7AEA8B0010C199 /* PBXTargetDependency */, ); - name = AwfulBindingUITests; - productName = AwfulBindingUITests; - productReference = 50C4A0C71A7AEA8B0010C199 /* AwfulBindingUITests.xctest */; + name = SwiftBindingUITests; + productName = SwiftBindingUITests; + productReference = 50C4A0C71A7AEA8B0010C199 /* SwiftBindingUITests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ @@ -262,7 +308,7 @@ }; }; }; - buildConfigurationList = 50C4A0B61A7AEA8B0010C199 /* Build configuration list for PBXProject "AwfulBindingUI" */; + buildConfigurationList = 50C4A0B61A7AEA8B0010C199 /* Build configuration list for PBXProject "SwiftBindingUI" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; @@ -274,8 +320,8 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 50C4A0BB1A7AEA8B0010C199 /* AwfulBindingUI */, - 50C4A0C61A7AEA8B0010C199 /* AwfulBindingUITests */, + 50C4A0BB1A7AEA8B0010C199 /* SwiftBindingUI */, + 50C4A0C61A7AEA8B0010C199 /* SwiftBindingUITests */, ); }; /* End PBXProject section */ @@ -285,6 +331,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + E462F9381AE83BD30019E621 /* Podfile in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -297,6 +344,54 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 11C607E7EC707ED176F7D98A /* Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; + 43E28A4BA5B01805394F586C /* Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Embed Pods Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 6048B54A6C151BA05F8A539D /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 50C4A0B71A7AEA8B0010C199 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -308,7 +403,7 @@ 50C4A0E51A7AEB300010C199 /* BindableButton.swift in Sources */, 50544D5E1AC5E2B700BD1B8E /* PTextBindable.swift in Sources */, 50C4A0EC1A7AEC970010C199 /* BindableTextView.swift in Sources */, - 50965EF31A9A6FDF00258080 /* PBindableTextSection.swift in Sources */, + 50965EF31A9A6FDF00258080 /* PBindableTableSection.swift in Sources */, 50965EF11A9A6FC100258080 /* BindableCollectionSection.swift in Sources */, 50C4A0EF1A7AEC970010C199 /* BindableSearchBar.swift in Sources */, 50544D621AC5E39400BD1B8E /* PHiddenBindable.swift in Sources */, @@ -317,7 +412,6 @@ 50BEF3121AA908A700790864 /* BindableView.swift in Sources */, 50C4A0EE1A7AEC970010C199 /* BindableTableView.swift in Sources */, 50AA32C71A8EC5A60073EA6A /* BindableLabel.swift in Sources */, - 50BDFB1E1A8980C800681CD6 /* README.md in Sources */, 50BB68951A8574A800842372 /* BindableCollectionView.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -326,9 +420,22 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 50544D631AC5E39400BD1B8E /* PHiddenBindable.swift in Sources */, - 50544D5F1AC5E2B700BD1B8E /* PTextBindable.swift in Sources */, - 50C4A0CF1A7AEA8B0010C199 /* AwfulBindingUITests.swift in Sources */, + E462F9271AE83A080019E621 /* PHiddenBindable.swift in Sources */, + E462F9281AE83A080019E621 /* PTextBindable.swift in Sources */, + E462F9291AE83A080019E621 /* BindableView.swift in Sources */, + E462F92A1AE83A080019E621 /* BindableLabel.swift in Sources */, + E462F92B1AE83A080019E621 /* BindableTextField.swift in Sources */, + E462F92C1AE83A080019E621 /* BindableTextView.swift in Sources */, + E462F92D1AE83A080019E621 /* BindableImageView.swift in Sources */, + E462F92E1AE83A080019E621 /* BindableSearchBar.swift in Sources */, + E462F92F1AE83A080019E621 /* BindableButton.swift in Sources */, + E462F9301AE83A080019E621 /* BindableSwitch.swift in Sources */, + E462F9311AE83A080019E621 /* BindableTableView.swift in Sources */, + E462F9321AE83A080019E621 /* BindableTableSection.swift in Sources */, + E462F9331AE83A080019E621 /* PBindableTableSection.swift in Sources */, + E462F9341AE83A080019E621 /* BindableCollectionView.swift in Sources */, + E462F9351AE83A080019E621 /* BindableCollectionSection.swift in Sources */, + E462F9361AE83A080019E621 /* PBindableCollectionSection.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -337,7 +444,7 @@ /* Begin PBXTargetDependency section */ 50C4A0CA1A7AEA8B0010C199 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 50C4A0BB1A7AEA8B0010C199 /* AwfulBindingUI */; + target = 50C4A0BB1A7AEA8B0010C199 /* SwiftBindingUI */; targetProxy = 50C4A0C91A7AEA8B0010C199 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -430,6 +537,7 @@ }; 50C4A0D31A7AEA8B0010C199 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = C241FD5F9C8B1498C8B9D78A /* Pods.debug.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; DEFINES_MODULE = YES; @@ -440,10 +548,10 @@ "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", ); - INFOPLIST_FILE = AwfulBindingUI/Info.plist; + INFOPLIST_FILE = SwiftBindingUI/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_NAME = SwiftBindingUI; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; @@ -451,6 +559,7 @@ }; 50C4A0D41A7AEA8B0010C199 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 08E5ED2C1C043FACEB0252F2 /* Pods.release.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; DEFINES_MODULE = YES; @@ -461,50 +570,56 @@ "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", ); - INFOPLIST_FILE = AwfulBindingUI/Info.plist; + INFOPLIST_FILE = SwiftBindingUI/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_NAME = SwiftBindingUI; SKIP_INSTALL = YES; }; name = Release; }; 50C4A0D61A7AEA8B0010C199 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = C241FD5F9C8B1498C8B9D78A /* Pods.debug.xcconfig */; buildSettings = { FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", + "$(PROJECT_DIR)/build/Debug-iphoneos", + "$(PROJECT_DIR)/build/Debug-iphoneos/Pods", ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); - INFOPLIST_FILE = AwfulBindingUITests/Info.plist; + INFOPLIST_FILE = SwiftBindingUITests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_NAME = SwiftBindingUITests; }; name = Debug; }; 50C4A0D71A7AEA8B0010C199 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 08E5ED2C1C043FACEB0252F2 /* Pods.release.xcconfig */; buildSettings = { FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", + "$(PROJECT_DIR)/build/Debug-iphoneos", + "$(PROJECT_DIR)/build/Debug-iphoneos/Pods", ); - INFOPLIST_FILE = AwfulBindingUITests/Info.plist; + INFOPLIST_FILE = SwiftBindingUITests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_NAME = SwiftBindingUITests; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 50C4A0B61A7AEA8B0010C199 /* Build configuration list for PBXProject "AwfulBindingUI" */ = { + 50C4A0B61A7AEA8B0010C199 /* Build configuration list for PBXProject "SwiftBindingUI" */ = { isa = XCConfigurationList; buildConfigurations = ( 50C4A0D01A7AEA8B0010C199 /* Debug */, @@ -513,7 +628,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 50C4A0D21A7AEA8B0010C199 /* Build configuration list for PBXNativeTarget "AwfulBindingUI" */ = { + 50C4A0D21A7AEA8B0010C199 /* Build configuration list for PBXNativeTarget "SwiftBindingUI" */ = { isa = XCConfigurationList; buildConfigurations = ( 50C4A0D31A7AEA8B0010C199 /* Debug */, @@ -522,7 +637,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 50C4A0D51A7AEA8B0010C199 /* Build configuration list for PBXNativeTarget "AwfulBindingUITests" */ = { + 50C4A0D51A7AEA8B0010C199 /* Build configuration list for PBXNativeTarget "SwiftBindingUITests" */ = { isa = XCConfigurationList; buildConfigurations = ( 50C4A0D61A7AEA8B0010C199 /* Debug */, diff --git a/AwfulBindingUI.xcodeproj/xcshareddata/xcschemes/AwfulBindingUI.xcscheme b/SwiftBindingUI.xcodeproj/xcshareddata/xcschemes/AwfulBindingUI.xcscheme similarity index 76% rename from AwfulBindingUI.xcodeproj/xcshareddata/xcschemes/AwfulBindingUI.xcscheme rename to SwiftBindingUI.xcodeproj/xcshareddata/xcschemes/AwfulBindingUI.xcscheme index e978538..6eb139d 100644 --- a/AwfulBindingUI.xcodeproj/xcshareddata/xcschemes/AwfulBindingUI.xcscheme +++ b/SwiftBindingUI.xcodeproj/xcshareddata/xcschemes/AwfulBindingUI.xcscheme @@ -15,9 +15,9 @@ + BuildableName = "SwiftBindingUI.framework" + BlueprintName = "SwiftBindingUI" + ReferencedContainer = "container:SwiftBindingUI.xcodeproj"> + BuildableName = "SwiftBindingUITests.xctest" + BlueprintName = "SwiftBindingUITests" + ReferencedContainer = "container:SwiftBindingUI.xcodeproj"> @@ -47,9 +47,9 @@ + BuildableName = "SwiftBindingUITests.xctest" + BlueprintName = "SwiftBindingUITests" + ReferencedContainer = "container:SwiftBindingUI.xcodeproj"> @@ -57,9 +57,9 @@ + BuildableName = "SwiftBindingUI.framework" + BlueprintName = "SwiftBindingUI" + ReferencedContainer = "container:SwiftBindingUI.xcodeproj"> @@ -76,9 +76,9 @@ + BuildableName = "SwiftBindingUI.framework" + BlueprintName = "SwiftBindingUI" + ReferencedContainer = "container:SwiftBindingUI.xcodeproj"> @@ -94,9 +94,9 @@ + BuildableName = "SwiftBindingUI.framework" + BlueprintName = "SwiftBindingUI" + ReferencedContainer = "container:SwiftBindingUI.xcodeproj"> diff --git a/AwfulBindingUI/BindableButton.swift b/SwiftBindingUI/BindableButton.swift similarity index 99% rename from AwfulBindingUI/BindableButton.swift rename to SwiftBindingUI/BindableButton.swift index 86cf18d..4bef50b 100644 --- a/AwfulBindingUI/BindableButton.swift +++ b/SwiftBindingUI/BindableButton.swift @@ -8,7 +8,7 @@ import Foundation import UIKit -import AwfulBinding +import SwiftBinding public class BindableButton:UIButton, PTextBindable, PHiddenBindable{ private var _enabledBinding:BindableValue? diff --git a/AwfulBindingUI/BindableCollectionSection.swift b/SwiftBindingUI/BindableCollectionSection.swift similarity index 97% rename from AwfulBindingUI/BindableCollectionSection.swift rename to SwiftBindingUI/BindableCollectionSection.swift index eb3e995..0d78607 100644 --- a/AwfulBindingUI/BindableCollectionSection.swift +++ b/SwiftBindingUI/BindableCollectionSection.swift @@ -1,13 +1,13 @@ // // BindableCollectionSection.swift -// AwfulBindingUI +// SwiftBindingUI // // Created by Zachary Smith on 2/22/15. // Copyright (c) 2015 Scal.io. All rights reserved. // import Foundation -import AwfulBinding +import SwiftBinding public class BindableCollectionSection:PBindableCollectionSection{ public var headerText:String? diff --git a/AwfulBindingUI/BindableCollectionView.swift b/SwiftBindingUI/BindableCollectionView.swift similarity index 99% rename from AwfulBindingUI/BindableCollectionView.swift rename to SwiftBindingUI/BindableCollectionView.swift index 3db28cd..88eb8b3 100644 --- a/AwfulBindingUI/BindableCollectionView.swift +++ b/SwiftBindingUI/BindableCollectionView.swift @@ -8,7 +8,7 @@ import Foundation import UIKit -import AwfulBinding +import SwiftBinding public class BindableCollectionView:UICollectionView, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout, PHiddenBindable{ //HACK: convenience method...you probably shouldn't override this in descendent classes. diff --git a/AwfulBindingUI/BindableImageView.swift b/SwiftBindingUI/BindableImageView.swift similarity index 70% rename from AwfulBindingUI/BindableImageView.swift rename to SwiftBindingUI/BindableImageView.swift index 3321dcb..af8896a 100644 --- a/AwfulBindingUI/BindableImageView.swift +++ b/SwiftBindingUI/BindableImageView.swift @@ -8,7 +8,7 @@ import Foundation import UIKit -import AwfulBinding +import SwiftBinding public class BindableImageView:UIImageView, PHiddenBindable { @@ -26,24 +26,39 @@ public class BindableImageView:UIImageView, PHiddenBindable } } - private var _bindableValue:BindableValue? - + private var _imageBinding:BindableValue? + + //DEPRECATED public var bindableValue:BindableValue?{ get{ - return _bindableValue + return _imageBinding } set(newValue){ - _bindableValue?.removeListener(self) + _imageBinding?.removeListener(self) - _bindableValue = newValue + _imageBinding = newValue - _bindableValue?.addListener(self, alertNow:true, listener:valueChanged) + _imageBinding?.addListener(self, alertNow:true, listener:valueChanged) } } + + public var imageBinding:BindableValue?{ + get{ + return _imageBinding + } + set(newValue){ + _imageBinding?.removeListener(self) + + _imageBinding = newValue + + _imageBinding?.addListener(self, alertNow:true, listener:valueChanged) + } + } + deinit{ - _bindableValue?.removeListener(self) + _imageBinding?.removeListener(self) _hiddenBinding?.removeListener(self) } diff --git a/AwfulBindingUI/BindableLabel.swift b/SwiftBindingUI/BindableLabel.swift similarity index 98% rename from AwfulBindingUI/BindableLabel.swift rename to SwiftBindingUI/BindableLabel.swift index 006a5a4..fabb184 100644 --- a/AwfulBindingUI/BindableLabel.swift +++ b/SwiftBindingUI/BindableLabel.swift @@ -1,6 +1,6 @@ import Foundation import UIKit -import AwfulBinding +import SwiftBinding public class BindableLabel:UILabel, PTextBindable, PHiddenBindable{ private var _textBinding:BindableValue? diff --git a/AwfulBindingUI/BindableSearchBar.swift b/SwiftBindingUI/BindableSearchBar.swift similarity index 99% rename from AwfulBindingUI/BindableSearchBar.swift rename to SwiftBindingUI/BindableSearchBar.swift index f09be52..d351501 100644 --- a/AwfulBindingUI/BindableSearchBar.swift +++ b/SwiftBindingUI/BindableSearchBar.swift @@ -8,7 +8,7 @@ import Foundation import UIKit -import AwfulBinding +import SwiftBinding public class BindableSearchBar:UISearchBar, UISearchBarDelegate, PTextBindable, PHiddenBindable{ private var _textBinding:BindableValue? diff --git a/AwfulBindingUI/BindableSwitch.swift b/SwiftBindingUI/BindableSwitch.swift similarity index 98% rename from AwfulBindingUI/BindableSwitch.swift rename to SwiftBindingUI/BindableSwitch.swift index 832486f..9cfc316 100644 --- a/AwfulBindingUI/BindableSwitch.swift +++ b/SwiftBindingUI/BindableSwitch.swift @@ -1,6 +1,6 @@ // // File.swift -// AwfulBindingUI +// SwiftBindingUI // // Created by Zachary Smith on 2/27/15. // Copyright (c) 2015 Scal.io. All rights reserved. @@ -8,7 +8,7 @@ import Foundation import UIKit -import AwfulBinding +import SwiftBinding public class BindableSwitch:UISwitch, PHiddenBindable{ private var _onBinding:BindableValue? diff --git a/AwfulBindingUI/BindableTableSection.swift b/SwiftBindingUI/BindableTableSection.swift similarity index 97% rename from AwfulBindingUI/BindableTableSection.swift rename to SwiftBindingUI/BindableTableSection.swift index 28c5a9b..fbe3a72 100644 --- a/AwfulBindingUI/BindableTableSection.swift +++ b/SwiftBindingUI/BindableTableSection.swift @@ -1,13 +1,13 @@ // // BindableSection.swift -// AwfulBindingUI +// SwiftBindingUI // // Created by Zachary Smith on 2/12/15. // Copyright (c) 2015 Scal.io. All rights reserved. // import Foundation -import AwfulBinding +import SwiftBinding public class BindableTableSection:PBindableTableSection{ public var headerText:String? diff --git a/AwfulBindingUI/BindableTableView.swift b/SwiftBindingUI/BindableTableView.swift similarity index 99% rename from AwfulBindingUI/BindableTableView.swift rename to SwiftBindingUI/BindableTableView.swift index 556e125..23b8610 100644 --- a/AwfulBindingUI/BindableTableView.swift +++ b/SwiftBindingUI/BindableTableView.swift @@ -1,5 +1,5 @@ import UIKit -import AwfulBinding +import SwiftBinding public class BindableTableView : UITableView, UITableViewDataSource, UITableViewDelegate, PHiddenBindable{ //HACK: convenience method...you probably shouldn't override this in descendent classes. diff --git a/AwfulBindingUI/BindableTextField.swift b/SwiftBindingUI/BindableTextField.swift similarity index 99% rename from AwfulBindingUI/BindableTextField.swift rename to SwiftBindingUI/BindableTextField.swift index f4ebf68..0a96861 100644 --- a/AwfulBindingUI/BindableTextField.swift +++ b/SwiftBindingUI/BindableTextField.swift @@ -8,7 +8,7 @@ import Foundation import UIKit -import AwfulBinding +import SwiftBinding public class BindableTextField:UITextField, UITextFieldDelegate, PTextBindable, PHiddenBindable{ public var onEditingStarting:(() -> Void)? diff --git a/AwfulBindingUI/BindableTextView.swift b/SwiftBindingUI/BindableTextView.swift similarity index 99% rename from AwfulBindingUI/BindableTextView.swift rename to SwiftBindingUI/BindableTextView.swift index f8a7003..d03ff1a 100644 --- a/AwfulBindingUI/BindableTextView.swift +++ b/SwiftBindingUI/BindableTextView.swift @@ -8,7 +8,7 @@ import Foundation import UIKit -import AwfulBinding +import SwiftBinding public class BindableTextView:UITextView, PTextBindable, PHiddenBindable{ private var _textBinding:BindableValue? diff --git a/AwfulBindingUI/BindableView.swift b/SwiftBindingUI/BindableView.swift similarity index 95% rename from AwfulBindingUI/BindableView.swift rename to SwiftBindingUI/BindableView.swift index f0669e6..995e492 100644 --- a/AwfulBindingUI/BindableView.swift +++ b/SwiftBindingUI/BindableView.swift @@ -1,6 +1,6 @@ // // BindableView.swift -// AwfulBindingUI +// SwiftBindingUI // // Created by Zachary Smith on 3/5/15. // Copyright (c) 2015 Scal.io. All rights reserved. @@ -8,7 +8,7 @@ import Foundation import UIKit -import AwfulBinding +import SwiftBinding public class BindableView:UIView, PHiddenBindable{ private var _hiddenBinding:BindableValue? diff --git a/AwfulBindingUI/Info.plist b/SwiftBindingUI/Info.plist similarity index 100% rename from AwfulBindingUI/Info.plist rename to SwiftBindingUI/Info.plist diff --git a/AwfulBindingUI/PBindableCollectionSection.swift b/SwiftBindingUI/PBindableCollectionSection.swift similarity index 92% rename from AwfulBindingUI/PBindableCollectionSection.swift rename to SwiftBindingUI/PBindableCollectionSection.swift index 880a486..fdd2158 100644 --- a/AwfulBindingUI/PBindableCollectionSection.swift +++ b/SwiftBindingUI/PBindableCollectionSection.swift @@ -1,13 +1,13 @@ // // PBindableCollectionSection.swift -// AwfulBindingUI +// SwiftBindingUI // // Created by Zachary Smith on 2/22/15. // Copyright (c) 2015 Scal.io. All rights reserved. // import Foundation -import AwfulBinding +import SwiftBinding public protocol PBindableCollectionSection{ var headerText:String? {get set} diff --git a/AwfulBindingUI/PBindableTextSection.swift b/SwiftBindingUI/PBindableTableSection.swift similarity index 91% rename from AwfulBindingUI/PBindableTextSection.swift rename to SwiftBindingUI/PBindableTableSection.swift index dd4e8d7..dd43354 100644 --- a/AwfulBindingUI/PBindableTextSection.swift +++ b/SwiftBindingUI/PBindableTableSection.swift @@ -1,13 +1,13 @@ // // PBindableTextSection.swift -// AwfulBindingUI +// SwiftBindingUI // // Created by Zachary Smith on 2/22/15. // Copyright (c) 2015 Scal.io. All rights reserved. // import Foundation -import AwfulBinding +import SwiftBinding public protocol PBindableTableSection{ var headerText:String? {get set} diff --git a/AwfulBindingUI/PHiddenBindable.swift b/SwiftBindingUI/PHiddenBindable.swift similarity index 85% rename from AwfulBindingUI/PHiddenBindable.swift rename to SwiftBindingUI/PHiddenBindable.swift index 862fef0..45de8b7 100644 --- a/AwfulBindingUI/PHiddenBindable.swift +++ b/SwiftBindingUI/PHiddenBindable.swift @@ -1,13 +1,13 @@ // // PHiddenBindable.swift -// AwfulBindingUI +// SwiftBindingUI // // Created by Zachary Smith on 3/27/15. // Copyright (c) 2015 Scal.io. All rights reserved. // import Foundation -import AwfulBinding +import SwiftBinding public protocol PHiddenBindable{ var hiddenBinding:BindableValue? {get set} diff --git a/AwfulBindingUI/PTextBindable.swift b/SwiftBindingUI/PTextBindable.swift similarity index 85% rename from AwfulBindingUI/PTextBindable.swift rename to SwiftBindingUI/PTextBindable.swift index 353bc6f..f040b24 100644 --- a/AwfulBindingUI/PTextBindable.swift +++ b/SwiftBindingUI/PTextBindable.swift @@ -1,13 +1,13 @@ // // PTextBindable.swift -// AwfulBindingUI +// SwiftBindingUI // // Created by Zachary Smith on 3/27/15. // Copyright (c) 2015 Scal.io. All rights reserved. // import Foundation -import AwfulBinding +import SwiftBinding public protocol PTextBindable{ var textBinding:BindableValue? {get set} diff --git a/SwiftBindingUI/SwiftBindingUI.h b/SwiftBindingUI/SwiftBindingUI.h new file mode 100644 index 0000000..57d9a4b --- /dev/null +++ b/SwiftBindingUI/SwiftBindingUI.h @@ -0,0 +1,19 @@ +// +// SwiftBindingUI.h +// SwiftBindingUI +// +// Created by Zachary Smith on 1/29/15. +// Copyright (c) 2015 Scal.io. All rights reserved. +// + +#import + +//! Project version number for SwiftBindingUI. +FOUNDATION_EXPORT double SwiftBindingUIVersionNumber; + +//! Project version string for SwiftBindingUI. +FOUNDATION_EXPORT const unsigned char SwiftBindingUIVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/AwfulBindingUITests/Info.plist b/SwiftBindingUITests/Info.plist similarity index 100% rename from AwfulBindingUITests/Info.plist rename to SwiftBindingUITests/Info.plist diff --git a/AwfulBindingUITests/AwfulBindingUITests.swift b/SwiftBindingUITests/SwiftBindingUITests.swift similarity index 89% rename from AwfulBindingUITests/AwfulBindingUITests.swift rename to SwiftBindingUITests/SwiftBindingUITests.swift index 8bc7a95..a76a7c8 100644 --- a/AwfulBindingUITests/AwfulBindingUITests.swift +++ b/SwiftBindingUITests/SwiftBindingUITests.swift @@ -1,6 +1,6 @@ // -// AwfulBindingUITests.swift -// AwfulBindingUITests +// SwiftBindingUITests.swift +// SwiftBindingUITests // // Created by Zachary Smith on 1/29/15. // Copyright (c) 2015 Scal.io. All rights reserved. @@ -9,7 +9,7 @@ import UIKit import XCTest -class AwfulBindingUITests: XCTestCase { +class SwiftBindingUITests: XCTestCase { override func setUp() { super.setUp()