From ee39d60adee77f537b0cd0b826f098ea368e7657 Mon Sep 17 00:00:00 2001 From: looseyi <13615033587@126.com> Date: Sun, 6 Sep 2015 11:00:55 +0800 Subject: [PATCH 1/2] update code to swift 2.0 --- .gitignore | 2 + DOAlertController/DOAlertController.swift | 56 +++++++++++------------ 2 files changed, 29 insertions(+), 29 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7eabf2d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +DOAlertController-DEMO/DerivedData/ +DerivedData/ diff --git a/DOAlertController/DOAlertController.swift b/DOAlertController/DOAlertController.swift index b322ec8..5e687fb 100644 --- a/DOAlertController/DOAlertController.swift +++ b/DOAlertController/DOAlertController.swift @@ -47,7 +47,7 @@ class DOAlertAction : NSObject, NSCopying { } func copyWithZone(zone: NSZone) -> AnyObject { - let copy = self.dynamicType(title: title, style: style, handler: handler) + let copy = self.dynamicType.init(title: title, style: style, handler: handler) copy.enabled = self.enabled return copy } @@ -56,14 +56,14 @@ class DOAlertAction : NSObject, NSCopying { // MARK: DOAlertAnimation Class class DOAlertAnimation : NSObject, UIViewControllerAnimatedTransitioning { - + let isPresenting: Bool init(isPresenting: Bool) { self.isPresenting = isPresenting } - func transitionDuration(transitionContext: UIViewControllerContextTransitioning) -> NSTimeInterval { + func transitionDuration(transitionContext: UIViewControllerContextTransitioning?) -> NSTimeInterval { if (isPresenting) { return 0.45 } else { @@ -81,8 +81,8 @@ class DOAlertAnimation : NSObject, UIViewControllerAnimatedTransitioning { func presentAnimateTransition(transitionContext: UIViewControllerContextTransitioning) { - var alertController = transitionContext.viewControllerForKey(UITransitionContextToViewControllerKey) as! DOAlertController - var containerView = transitionContext.containerView() + let alertController = transitionContext.viewControllerForKey(UITransitionContextToViewControllerKey) as! DOAlertController + let containerView = transitionContext.containerView() alertController.overlayView.alpha = 0.0 if (alertController.isAlert()) { @@ -92,7 +92,7 @@ class DOAlertAnimation : NSObject, UIViewControllerAnimatedTransitioning { } else { alertController.alertView.transform = CGAffineTransformMakeTranslation(0, alertController.alertView.frame.height) } - containerView.addSubview(alertController.view) + containerView!.addSubview(alertController.view) UIView.animateWithDuration(0.25, animations: { @@ -114,13 +114,13 @@ class DOAlertAnimation : NSObject, UIViewControllerAnimatedTransitioning { if (finished) { transitionContext.completeTransition(true) } - }) - }) + }) + }) } func dismissAnimateTransition(transitionContext: UIViewControllerContextTransitioning) { - var alertController = transitionContext.viewControllerForKey(UITransitionContextFromViewControllerKey) as! DOAlertController + let alertController = transitionContext.viewControllerForKey(UITransitionContextFromViewControllerKey) as! DOAlertController UIView.animateWithDuration(self.transitionDuration(transitionContext), animations: { @@ -134,7 +134,7 @@ class DOAlertAnimation : NSObject, UIViewControllerAnimatedTransitioning { }, completion: { finished in transitionContext.completeTransition(true) - }) + }) } } @@ -311,15 +311,15 @@ class DOAlertController : UIViewController, UITextFieldDelegate, UIViewControlle //------------------------------ // Layout Constraint //------------------------------ - overlayView.setTranslatesAutoresizingMaskIntoConstraints(false) - containerView.setTranslatesAutoresizingMaskIntoConstraints(false) - alertView.setTranslatesAutoresizingMaskIntoConstraints(false) - textAreaScrollView.setTranslatesAutoresizingMaskIntoConstraints(false) - textAreaView.setTranslatesAutoresizingMaskIntoConstraints(false) - textContainer.setTranslatesAutoresizingMaskIntoConstraints(false) - buttonAreaScrollView.setTranslatesAutoresizingMaskIntoConstraints(false) - buttonAreaView.setTranslatesAutoresizingMaskIntoConstraints(false) - buttonContainer.setTranslatesAutoresizingMaskIntoConstraints(false) + overlayView.translatesAutoresizingMaskIntoConstraints = false + containerView.translatesAutoresizingMaskIntoConstraints = false + alertView.translatesAutoresizingMaskIntoConstraints = false + textAreaScrollView.translatesAutoresizingMaskIntoConstraints = false + textAreaView.translatesAutoresizingMaskIntoConstraints = false + textContainer.translatesAutoresizingMaskIntoConstraints = false + buttonAreaScrollView.translatesAutoresizingMaskIntoConstraints = false + buttonAreaView.translatesAutoresizingMaskIntoConstraints = false + buttonContainer.translatesAutoresizingMaskIntoConstraints = false // self.view let overlayViewTopSpaceConstraint = NSLayoutConstraint(item: overlayView, attribute: .Top, relatedBy: .Equal, toItem: self.view, attribute: .Top, multiplier: 1.0, constant: 0.0) @@ -422,7 +422,7 @@ class DOAlertController : UIViewController, UITextFieldDelegate, UIViewControlle super.viewDidAppear(animated) if (!isAlert() && cancelButtonTag != 0) { - var tapGesture = UITapGestureRecognizer(target: self, action: "handleContainerViewTapGesture:") + let tapGesture = UITapGestureRecognizer(target: self, action: "handleContainerViewTapGesture:") containerView.addGestureRecognizer(tapGesture) } } @@ -489,7 +489,7 @@ class DOAlertController : UIViewController, UITextFieldDelegate, UIViewControlle var textFieldContainerHeight: CGFloat = 0.0 // TextFields - for (i, obj) in enumerate(textFields!) { + for (_, obj) in textFields!.enumerate() { let textField = obj as! UITextField textField.frame = CGRectMake(0.0, textFieldContainerHeight, innerContentWidth, textField.frame.height) textFieldContainerHeight += textField.frame.height + 0.5 @@ -550,7 +550,7 @@ class DOAlertController : UIViewController, UITextFieldDelegate, UIViewControlle if (!isAlert() && buttons.count > 1) { buttonAreaPositionY += buttonMargin } - var button = buttonAreaScrollView.viewWithTag(cancelButtonTag) as! UIButton + let button = buttonAreaScrollView.viewWithTag(cancelButtonTag) as! UIButton let action = actions[cancelButtonTag - 1] as! DOAlertAction button.titleLabel?.font = buttonFont[action.style] button.setTitleColor(buttonTextColor[action.style], forState: .Normal) @@ -634,10 +634,10 @@ class DOAlertController : UIViewController, UITextFieldDelegate, UIViewControlle } // UIColor -> UIImage - func createImageFromUIColor(var color: UIColor) -> UIImage { + func createImageFromUIColor(color: UIColor) -> UIImage { let rect = CGRectMake(0, 0, 1, 1) UIGraphicsBeginImageContext(rect.size) - let contextRef: CGContextRef = UIGraphicsGetCurrentContext() + let contextRef = UIGraphicsGetCurrentContext()! CGContextSetFillColorWithColor(contextRef, color.CGColor) CGContextFillRect(contextRef, rect) let img: UIImage = UIGraphicsGetImageFromCurrentImageContext() @@ -687,8 +687,7 @@ class DOAlertController : UIViewController, UITextFieldDelegate, UIViewControlle if (action.style == DOAlertActionStyle.Cancel) { for ac in actions as! [DOAlertAction] { if (ac.style == DOAlertActionStyle.Cancel) { - var error: NSError? - NSException.raise("NSInternalInconsistencyException", format:"DOAlertController can only have one action with a style of DOAlertActionStyleCancel", arguments:getVaList([error ?? "nil"])) + assert(false, "DOAlertController can only have one action with a style of DOAlertActionStyleCancel") return } } @@ -713,15 +712,14 @@ class DOAlertController : UIViewController, UITextFieldDelegate, UIViewControlle // You can add a text field only if the preferredStyle property is set to DOAlertControllerStyle.Alert. if (!isAlert()) { - var error: NSError? - NSException.raise("NSInternalInconsistencyException", format: "Text fields can only be added to an alert controller of style DOAlertControllerStyleAlert", arguments:getVaList([error ?? "nil"])) + assert(false, "Text fields can only be added to an alert controller of style DOAlertControllerStyleAlert") return } if (textFields == nil) { textFields = [] } - var textField = UITextField() + let textField = UITextField() textField.frame.size = CGSizeMake(innerContentWidth, textFieldHeight) textField.borderStyle = UITextBorderStyle.None textField.backgroundColor = textFieldBgColor From 61cc19868a12e621bc405badb162ba660041d594 Mon Sep 17 00:00:00 2001 From: looseyi <13615033587@126.com> Date: Sun, 6 Sep 2015 11:02:07 +0800 Subject: [PATCH 2/2] update demoe code to swift 2.0 --- .gitignore | 4 +- .../project.pbxproj | 2 + .../DOAlertController.swift | 58 +++++++++---------- .../ViewController.swift | 6 +- 4 files changed, 36 insertions(+), 34 deletions(-) diff --git a/.gitignore b/.gitignore index 7eabf2d..ed13938 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ DOAlertController-DEMO/DerivedData/ -DerivedData/ +DerivedData +DOAlertController-DEMO/DOAlertController-DEMO.xcodeproj/xcuserdata +DOAlertController-DEMO/DOAlertController-DEMO.xcodeproj/project.xcworkspace/xcuserdata/ diff --git a/DOAlertController-DEMO/DOAlertController-DEMO.xcodeproj/project.pbxproj b/DOAlertController-DEMO/DOAlertController-DEMO.xcodeproj/project.pbxproj index 3c7c9cc..6619585 100644 --- a/DOAlertController-DEMO/DOAlertController-DEMO.xcodeproj/project.pbxproj +++ b/DOAlertController-DEMO/DOAlertController-DEMO.xcodeproj/project.pbxproj @@ -167,6 +167,8 @@ 4F47CAA31AE26BD100BF71E4 /* Project object */ = { isa = PBXProject; attributes = { + LastSwiftMigration = 0700; + LastSwiftUpdateCheck = 0700; LastUpgradeCheck = 0620; ORGANIZATIONNAME = "Daiki Okumura"; TargetAttributes = { diff --git a/DOAlertController-DEMO/DOAlertController-DEMO/DOAlertController.swift b/DOAlertController-DEMO/DOAlertController-DEMO/DOAlertController.swift index b322ec8..6f173d9 100644 --- a/DOAlertController-DEMO/DOAlertController-DEMO/DOAlertController.swift +++ b/DOAlertController-DEMO/DOAlertController-DEMO/DOAlertController.swift @@ -47,7 +47,7 @@ class DOAlertAction : NSObject, NSCopying { } func copyWithZone(zone: NSZone) -> AnyObject { - let copy = self.dynamicType(title: title, style: style, handler: handler) + let copy = self.dynamicType.init(title: title, style: style, handler: handler) copy.enabled = self.enabled return copy } @@ -56,14 +56,14 @@ class DOAlertAction : NSObject, NSCopying { // MARK: DOAlertAnimation Class class DOAlertAnimation : NSObject, UIViewControllerAnimatedTransitioning { - + let isPresenting: Bool init(isPresenting: Bool) { self.isPresenting = isPresenting } - func transitionDuration(transitionContext: UIViewControllerContextTransitioning) -> NSTimeInterval { + func transitionDuration(transitionContext: UIViewControllerContextTransitioning?) -> NSTimeInterval { if (isPresenting) { return 0.45 } else { @@ -81,8 +81,8 @@ class DOAlertAnimation : NSObject, UIViewControllerAnimatedTransitioning { func presentAnimateTransition(transitionContext: UIViewControllerContextTransitioning) { - var alertController = transitionContext.viewControllerForKey(UITransitionContextToViewControllerKey) as! DOAlertController - var containerView = transitionContext.containerView() + let alertController = transitionContext.viewControllerForKey(UITransitionContextToViewControllerKey) as! DOAlertController + let containerView = transitionContext.containerView() alertController.overlayView.alpha = 0.0 if (alertController.isAlert()) { @@ -92,7 +92,7 @@ class DOAlertAnimation : NSObject, UIViewControllerAnimatedTransitioning { } else { alertController.alertView.transform = CGAffineTransformMakeTranslation(0, alertController.alertView.frame.height) } - containerView.addSubview(alertController.view) + containerView!.addSubview(alertController.view) UIView.animateWithDuration(0.25, animations: { @@ -114,13 +114,13 @@ class DOAlertAnimation : NSObject, UIViewControllerAnimatedTransitioning { if (finished) { transitionContext.completeTransition(true) } - }) - }) + }) + }) } func dismissAnimateTransition(transitionContext: UIViewControllerContextTransitioning) { - var alertController = transitionContext.viewControllerForKey(UITransitionContextFromViewControllerKey) as! DOAlertController + let alertController = transitionContext.viewControllerForKey(UITransitionContextFromViewControllerKey) as! DOAlertController UIView.animateWithDuration(self.transitionDuration(transitionContext), animations: { @@ -134,7 +134,7 @@ class DOAlertAnimation : NSObject, UIViewControllerAnimatedTransitioning { }, completion: { finished in transitionContext.completeTransition(true) - }) + }) } } @@ -311,15 +311,15 @@ class DOAlertController : UIViewController, UITextFieldDelegate, UIViewControlle //------------------------------ // Layout Constraint //------------------------------ - overlayView.setTranslatesAutoresizingMaskIntoConstraints(false) - containerView.setTranslatesAutoresizingMaskIntoConstraints(false) - alertView.setTranslatesAutoresizingMaskIntoConstraints(false) - textAreaScrollView.setTranslatesAutoresizingMaskIntoConstraints(false) - textAreaView.setTranslatesAutoresizingMaskIntoConstraints(false) - textContainer.setTranslatesAutoresizingMaskIntoConstraints(false) - buttonAreaScrollView.setTranslatesAutoresizingMaskIntoConstraints(false) - buttonAreaView.setTranslatesAutoresizingMaskIntoConstraints(false) - buttonContainer.setTranslatesAutoresizingMaskIntoConstraints(false) + overlayView.translatesAutoresizingMaskIntoConstraints = false + containerView.translatesAutoresizingMaskIntoConstraints = false + alertView.translatesAutoresizingMaskIntoConstraints = false + textAreaScrollView.translatesAutoresizingMaskIntoConstraints = false + textAreaView.translatesAutoresizingMaskIntoConstraints = false + textContainer.translatesAutoresizingMaskIntoConstraints = false + buttonAreaScrollView.translatesAutoresizingMaskIntoConstraints = false + buttonAreaView.translatesAutoresizingMaskIntoConstraints = false + buttonContainer.translatesAutoresizingMaskIntoConstraints = false // self.view let overlayViewTopSpaceConstraint = NSLayoutConstraint(item: overlayView, attribute: .Top, relatedBy: .Equal, toItem: self.view, attribute: .Top, multiplier: 1.0, constant: 0.0) @@ -422,7 +422,7 @@ class DOAlertController : UIViewController, UITextFieldDelegate, UIViewControlle super.viewDidAppear(animated) if (!isAlert() && cancelButtonTag != 0) { - var tapGesture = UITapGestureRecognizer(target: self, action: "handleContainerViewTapGesture:") + let tapGesture = UITapGestureRecognizer(target: self, action: "handleContainerViewTapGesture:") containerView.addGestureRecognizer(tapGesture) } } @@ -489,7 +489,7 @@ class DOAlertController : UIViewController, UITextFieldDelegate, UIViewControlle var textFieldContainerHeight: CGFloat = 0.0 // TextFields - for (i, obj) in enumerate(textFields!) { + for (_, obj) in textFields!.enumerate() { let textField = obj as! UITextField textField.frame = CGRectMake(0.0, textFieldContainerHeight, innerContentWidth, textField.frame.height) textFieldContainerHeight += textField.frame.height + 0.5 @@ -550,7 +550,7 @@ class DOAlertController : UIViewController, UITextFieldDelegate, UIViewControlle if (!isAlert() && buttons.count > 1) { buttonAreaPositionY += buttonMargin } - var button = buttonAreaScrollView.viewWithTag(cancelButtonTag) as! UIButton + let button = buttonAreaScrollView.viewWithTag(cancelButtonTag) as! UIButton let action = actions[cancelButtonTag - 1] as! DOAlertAction button.titleLabel?.font = buttonFont[action.style] button.setTitleColor(buttonTextColor[action.style], forState: .Normal) @@ -634,10 +634,10 @@ class DOAlertController : UIViewController, UITextFieldDelegate, UIViewControlle } // UIColor -> UIImage - func createImageFromUIColor(var color: UIColor) -> UIImage { + func createImageFromUIColor(color: UIColor) -> UIImage { let rect = CGRectMake(0, 0, 1, 1) UIGraphicsBeginImageContext(rect.size) - let contextRef: CGContextRef = UIGraphicsGetCurrentContext() + let contextRef = UIGraphicsGetCurrentContext()! CGContextSetFillColorWithColor(contextRef, color.CGColor) CGContextFillRect(contextRef, rect) let img: UIImage = UIGraphicsGetImageFromCurrentImageContext() @@ -687,8 +687,7 @@ class DOAlertController : UIViewController, UITextFieldDelegate, UIViewControlle if (action.style == DOAlertActionStyle.Cancel) { for ac in actions as! [DOAlertAction] { if (ac.style == DOAlertActionStyle.Cancel) { - var error: NSError? - NSException.raise("NSInternalInconsistencyException", format:"DOAlertController can only have one action with a style of DOAlertActionStyleCancel", arguments:getVaList([error ?? "nil"])) + assert(false, "DOAlertController can only have one action with a style of DOAlertActionStyleCancel") return } } @@ -713,15 +712,14 @@ class DOAlertController : UIViewController, UITextFieldDelegate, UIViewControlle // You can add a text field only if the preferredStyle property is set to DOAlertControllerStyle.Alert. if (!isAlert()) { - var error: NSError? - NSException.raise("NSInternalInconsistencyException", format: "Text fields can only be added to an alert controller of style DOAlertControllerStyleAlert", arguments:getVaList([error ?? "nil"])) + assert(false, "Text fields can only be added to an alert controller of style DOAlertControllerStyleAlert") return } if (textFields == nil) { textFields = [] } - var textField = UITextField() + let textField = UITextField() textField.frame.size = CGSizeMake(innerContentWidth, textFieldHeight) textField.borderStyle = UITextBorderStyle.None textField.backgroundColor = textFieldBgColor @@ -757,4 +755,4 @@ class DOAlertController : UIViewController, UITextFieldDelegate, UIViewControlle func animationControllerForDismissedController(dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning? { return DOAlertAnimation(isPresenting: false) } -} +} \ No newline at end of file diff --git a/DOAlertController-DEMO/DOAlertController-DEMO/ViewController.swift b/DOAlertController-DEMO/DOAlertController-DEMO/ViewController.swift index 3ad1408..48541a3 100644 --- a/DOAlertController-DEMO/DOAlertController-DEMO/ViewController.swift +++ b/DOAlertController-DEMO/DOAlertController-DEMO/ViewController.swift @@ -238,7 +238,7 @@ class ViewController : UITableViewController, UITextFieldDelegate { textField.keyboardAppearance = UIKeyboardAppearance.Dark textField.returnKeyType = UIReturnKeyType.Next - var label:UILabel = UILabel(frame: CGRectMake(0, 0, 50, 30)) + let label:UILabel = UILabel(frame: CGRectMake(0, 0, 50, 30)) label.text = "ID" label.font = UIFont(name: "GillSans-Bold", size: 15.0) textField.leftView = label @@ -256,7 +256,7 @@ class ViewController : UITableViewController, UITextFieldDelegate { textField.keyboardAppearance = UIKeyboardAppearance.Dark textField.returnKeyType = UIReturnKeyType.Send - var label:UILabel = UILabel(frame: CGRectMake(0, 0, 50, 30)) + let label:UILabel = UILabel(frame: CGRectMake(0, 0, 50, 30)) label.text = "PASS" label.font = UIFont(name: "GillSans-Bold", size: 15.0) textField.leftView = label @@ -395,7 +395,7 @@ class ViewController : UITableViewController, UITextFieldDelegate { let textField = notification.object as! UITextField // Enforce a minimum length of >= 5 characters for secure text alerts. - secureTextAlertAction!.enabled = count(textField.text) >= 5 + secureTextAlertAction!.enabled = textField.text!.characters.count >= 5 } // MARK: UITextFieldDelegate Methods