From 279ae6b5c9f7a67dbbeac20a2f2009451a7d019b Mon Sep 17 00:00:00 2001 From: nixzhu Date: Wed, 9 Dec 2015 15:26:22 +0800 Subject: [PATCH] private in Register --- .../RegisterPickAvatarViewController.swift | 62 ++++++++++--------- .../RegisterPickMobileViewController.swift | 22 +++---- .../RegisterPickNameViewController.swift | 24 +++---- .../RegisterPickSkillsViewController.swift | 1 + .../RegisterVerifyMobileViewController.swift | 40 ++++++------ 5 files changed, 77 insertions(+), 72 deletions(-) diff --git a/Yep/ViewControllers/Register/RegisterPickAvatarViewController.swift b/Yep/ViewControllers/Register/RegisterPickAvatarViewController.swift index c37ccafa..3fd148f3 100644 --- a/Yep/ViewControllers/Register/RegisterPickAvatarViewController.swift +++ b/Yep/ViewControllers/Register/RegisterPickAvatarViewController.swift @@ -13,35 +13,35 @@ import Navi class RegisterPickAvatarViewController: UIViewController { - @IBOutlet weak var avatarImageView: UIImageView! - @IBOutlet weak var cameraPreviewView: CameraPreviewView! + @IBOutlet private weak var avatarImageView: UIImageView! + @IBOutlet private weak var cameraPreviewView: CameraPreviewView! - @IBOutlet weak var takePicturePromptLabel: UILabel! + @IBOutlet private weak var takePicturePromptLabel: UILabel! - @IBOutlet weak var openCameraButton: BorderButton! + @IBOutlet private weak var openCameraButton: BorderButton! - @IBOutlet weak var cameraRollButton: UIButton! - @IBOutlet weak var captureButton: UIButton! - @IBOutlet weak var retakeButton: UIButton! + @IBOutlet private weak var cameraRollButton: UIButton! + @IBOutlet private weak var captureButton: UIButton! + @IBOutlet private weak var retakeButton: UIButton! - lazy var nextButton: UIBarButtonItem = { + private lazy var nextButton: UIBarButtonItem = { let button = UIBarButtonItem(title: NSLocalizedString("Next", comment: ""), style: .Plain, target: self, action: "next:") return button - }() + }() - var avatar = UIImage() { + private var avatar = UIImage() { willSet { avatarImageView.image = newValue } } - enum PickAvatarState { + private enum PickAvatarState { case Default case CameraOpen case Captured } - var pickAvatarState: PickAvatarState = .Default { + private var pickAvatarState: PickAvatarState = .Default { willSet { switch newValue { case .Default: @@ -89,30 +89,30 @@ class RegisterPickAvatarViewController: UIViewController { } } - lazy var sessionQueue: dispatch_queue_t = dispatch_queue_create("session_queue", DISPATCH_QUEUE_SERIAL) + private lazy var sessionQueue: dispatch_queue_t = dispatch_queue_create("session_queue", DISPATCH_QUEUE_SERIAL) - lazy var session: AVCaptureSession = { + private lazy var session: AVCaptureSession = { let _session = AVCaptureSession() _session.sessionPreset = AVCaptureSessionPreset640x480 return _session - }() + }() - let mediaType = AVMediaTypeVideo + private let mediaType = AVMediaTypeVideo - lazy var videoDeviceInput: AVCaptureDeviceInput? = { + private lazy var videoDeviceInput: AVCaptureDeviceInput? = { guard let videoDevice = self.deviceWithMediaType(self.mediaType, preferringPosition: .Front) else { return nil } return try? AVCaptureDeviceInput(device: videoDevice) - }() + }() - lazy var stillImageOutput: AVCaptureStillImageOutput = { + private lazy var stillImageOutput: AVCaptureStillImageOutput = { let _stillImageOutput = AVCaptureStillImageOutput() _stillImageOutput.outputSettings = [AVVideoCodecKey: AVVideoCodecJPEG] return _stillImageOutput - }() + }() override func viewDidLoad() { super.viewDidLoad() @@ -162,11 +162,11 @@ class RegisterPickAvatarViewController: UIViewController { // MARK: Actions - func next(sender: UIBarButtonItem) { + @objc private func next(sender: UIBarButtonItem) { uploadAvatarAndGotoPickSkills() } - @IBAction func tryOpenCamera(sender: UIButton) { + @IBAction private func tryOpenCamera(sender: UIButton) { proposeToAccess(.Camera, agreed: { self.openCamera() @@ -204,7 +204,7 @@ class RegisterPickAvatarViewController: UIViewController { } } - @IBAction func tryOpenCameraRoll(sender: UIButton) { + @IBAction private func tryOpenCameraRoll(sender: UIButton) { let openCameraRoll: ProposerAction = { [weak self] in if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.SavedPhotosAlbum) { @@ -222,7 +222,7 @@ class RegisterPickAvatarViewController: UIViewController { }) } - func uploadAvatarAndGotoPickSkills() { + private func uploadAvatarAndGotoPickSkills() { YepHUD.showActivityIndicator() @@ -260,7 +260,7 @@ class RegisterPickAvatarViewController: UIViewController { }) } - @IBAction func captureOrFinish(sender: UIButton) { + @IBAction private func captureOrFinish(sender: UIButton) { if pickAvatarState == .Captured { uploadAvatarAndGotoPickSkills() @@ -287,21 +287,23 @@ class RegisterPickAvatarViewController: UIViewController { } } - @IBAction func retake(sender: UIButton) { + @IBAction private func retake(sender: UIButton) { pickAvatarState = .CameraOpen } - } // MARK: UIImagePicker extension RegisterPickAvatarViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate { + func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) { - dispatch_async(dispatch_get_main_queue()) { - self.avatar = image - self.pickAvatarState = .Captured + + dispatch_async(dispatch_get_main_queue()) { [weak self] in + self?.avatar = image + self?.pickAvatarState = .Captured } dismissViewControllerAnimated(true, completion: nil) } } + diff --git a/Yep/ViewControllers/Register/RegisterPickMobileViewController.swift b/Yep/ViewControllers/Register/RegisterPickMobileViewController.swift index 37041bcc..c91a5d67 100644 --- a/Yep/ViewControllers/Register/RegisterPickMobileViewController.swift +++ b/Yep/ViewControllers/Register/RegisterPickMobileViewController.swift @@ -11,19 +11,19 @@ import Ruler class RegisterPickMobileViewController: UIViewController { - @IBOutlet weak var pickMobileNumberPromptLabel: UILabel! - @IBOutlet weak var pickMobileNumberPromptLabelTopConstraint: NSLayoutConstraint! + @IBOutlet private weak var pickMobileNumberPromptLabel: UILabel! + @IBOutlet private weak var pickMobileNumberPromptLabelTopConstraint: NSLayoutConstraint! - @IBOutlet weak var areaCodeTextField: BorderTextField! - @IBOutlet weak var areaCodeTextFieldWidthConstraint: NSLayoutConstraint! + @IBOutlet private weak var areaCodeTextField: BorderTextField! + @IBOutlet private weak var areaCodeTextFieldWidthConstraint: NSLayoutConstraint! - @IBOutlet weak var mobileNumberTextField: BorderTextField! - @IBOutlet weak var mobileNumberTextFieldTopConstraint: NSLayoutConstraint! + @IBOutlet private weak var mobileNumberTextField: BorderTextField! + @IBOutlet private weak var mobileNumberTextFieldTopConstraint: NSLayoutConstraint! - lazy var nextButton: UIBarButtonItem = { + private lazy var nextButton: UIBarButtonItem = { let button = UIBarButtonItem(title: NSLocalizedString("Next", comment: ""), style: .Plain, target: self, action: "next:") return button - }() + }() override func viewDidLoad() { super.viewDidLoad() @@ -66,7 +66,7 @@ class RegisterPickMobileViewController: UIViewController { // MARK: Actions - func adjustAreaCodeTextFieldWidth() { + private func adjustAreaCodeTextFieldWidth() { guard let text = areaCodeTextField.text else { return @@ -83,7 +83,7 @@ class RegisterPickMobileViewController: UIViewController { }) } - func textFieldDidChange(textField: UITextField) { + @objc private func textFieldDidChange(textField: UITextField) { guard let areaCode = areaCodeTextField.text, mobileNumber = mobileNumberTextField.text else { return @@ -96,7 +96,7 @@ class RegisterPickMobileViewController: UIViewController { } } - func next(sender: UIBarButtonItem) { + @objc private func next(sender: UIBarButtonItem) { tryShowRegisterVerifyMobile() } diff --git a/Yep/ViewControllers/Register/RegisterPickNameViewController.swift b/Yep/ViewControllers/Register/RegisterPickNameViewController.swift index 85275b75..015701ed 100644 --- a/Yep/ViewControllers/Register/RegisterPickNameViewController.swift +++ b/Yep/ViewControllers/Register/RegisterPickNameViewController.swift @@ -11,20 +11,20 @@ import Ruler class RegisterPickNameViewController: BaseViewController { - @IBOutlet weak var pickNamePromptLabel: UILabel! - @IBOutlet weak var pickNamePromptLabelTopConstraint: NSLayoutConstraint! + @IBOutlet private weak var pickNamePromptLabel: UILabel! + @IBOutlet private weak var pickNamePromptLabelTopConstraint: NSLayoutConstraint! - @IBOutlet weak var promptTermsLabel: UILabel! + @IBOutlet private weak var promptTermsLabel: UILabel! - @IBOutlet weak var nameTextField: BorderTextField! - @IBOutlet weak var nameTextFieldTopConstraint: NSLayoutConstraint! + @IBOutlet private weak var nameTextField: BorderTextField! + @IBOutlet private weak var nameTextFieldTopConstraint: NSLayoutConstraint! - lazy var nextButton: UIBarButtonItem = { + private lazy var nextButton: UIBarButtonItem = { let button = UIBarButtonItem(title: NSLocalizedString("Next", comment: ""), style: .Plain, target: self, action: "next:") return button - }() + }() - var isDirty = false { + private var isDirty = false { willSet { nextButton.enabled = newValue promptTermsLabel.alpha = newValue ? 1.0 : 0.5 @@ -62,7 +62,7 @@ class RegisterPickNameViewController: BaseViewController { promptTermsLabel.alpha = 0.5 promptTermsLabel.userInteractionEnabled = true - let tap = UITapGestureRecognizer(target: self, action: "tapTerms") + let tap = UITapGestureRecognizer(target: self, action: "tapTerms:") promptTermsLabel.addGestureRecognizer(tap) nameTextField.backgroundColor = UIColor.whiteColor() @@ -89,13 +89,13 @@ class RegisterPickNameViewController: BaseViewController { // MARK: Actions - func tapTerms() { + @objc private func tapTerms(sender: UITapGestureRecognizer) { if let URL = NSURL(string: YepConfig.termsURLString) { yep_openURL(URL) } } - func textFieldDidChange(textField: UITextField) { + @objc private func textFieldDidChange(textField: UITextField) { guard let text = textField.text else { return } @@ -103,7 +103,7 @@ class RegisterPickNameViewController: BaseViewController { isDirty = !text.isEmpty } - func next(sender: UIBarButtonItem) { + @objc private func next(sender: UIBarButtonItem) { showRegisterPickMobile() } diff --git a/Yep/ViewControllers/Register/RegisterPickSkillsViewController.swift b/Yep/ViewControllers/Register/RegisterPickSkillsViewController.swift index d18ddbbf..a968a146 100644 --- a/Yep/ViewControllers/Register/RegisterPickSkillsViewController.swift +++ b/Yep/ViewControllers/Register/RegisterPickSkillsViewController.swift @@ -11,6 +11,7 @@ import UIKit class RegisterPickSkillsViewController: BaseViewController { var isRegister = true + var isDirty = false { didSet { if !isRegister { diff --git a/Yep/ViewControllers/Register/RegisterVerifyMobileViewController.swift b/Yep/ViewControllers/Register/RegisterVerifyMobileViewController.swift index 95080151..d6680c0f 100644 --- a/Yep/ViewControllers/Register/RegisterVerifyMobileViewController.swift +++ b/Yep/ViewControllers/Register/RegisterVerifyMobileViewController.swift @@ -15,28 +15,29 @@ class RegisterVerifyMobileViewController: UIViewController { var areaCode: String! - @IBOutlet weak var verifyMobileNumberPromptLabel: UILabel! - @IBOutlet weak var verifyMobileNumberPromptLabelTopConstraint: NSLayoutConstraint! + @IBOutlet private weak var verifyMobileNumberPromptLabel: UILabel! + @IBOutlet private weak var verifyMobileNumberPromptLabelTopConstraint: NSLayoutConstraint! - @IBOutlet weak var phoneNumberLabel: UILabel! + @IBOutlet private weak var phoneNumberLabel: UILabel! - @IBOutlet weak var verifyCodeTextField: BorderTextField! - @IBOutlet weak var verifyCodeTextFieldTopConstraint: NSLayoutConstraint! + @IBOutlet private weak var verifyCodeTextField: BorderTextField! + @IBOutlet private weak var verifyCodeTextFieldTopConstraint: NSLayoutConstraint! - @IBOutlet weak var callMePromptLabel: UILabel! - @IBOutlet weak var callMeButton: UIButton! - @IBOutlet weak var callMeButtonTopConstraint: NSLayoutConstraint! + @IBOutlet private weak var callMePromptLabel: UILabel! + @IBOutlet private weak var callMeButton: UIButton! + @IBOutlet private weak var callMeButtonTopConstraint: NSLayoutConstraint! - lazy var nextButton: UIBarButtonItem = { + private lazy var nextButton: UIBarButtonItem = { let button = UIBarButtonItem(title: NSLocalizedString("Next", comment: ""), style: .Plain, target: self, action: "next:") return button - }() + }() - lazy var callMeTimer: NSTimer = { + private lazy var callMeTimer: NSTimer = { let timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "tryCallMe:", userInfo: nil, repeats: true) return timer - }() - var haveAppropriateInput = false { + }() + + private var haveAppropriateInput = false { willSet { nextButton.enabled = newValue @@ -45,7 +46,8 @@ class RegisterVerifyMobileViewController: UIViewController { } } } - var callMeInSeconds = YepConfig.callMeInSeconds() + + private var callMeInSeconds = YepConfig.callMeInSeconds() override func viewDidLoad() { @@ -93,11 +95,11 @@ class RegisterVerifyMobileViewController: UIViewController { // MARK: Actions - func activeAgain(notification: NSNotification) { + @objc private func activeAgain(notification: NSNotification) { verifyCodeTextField.becomeFirstResponder() } - func tryCallMe(timer: NSTimer) { + @objc private func tryCallMe(timer: NSTimer) { if !haveAppropriateInput { if callMeInSeconds > 1 { let callMeInSecondsString = NSLocalizedString("Call me", comment: "") + " (\(callMeInSeconds))" @@ -122,7 +124,7 @@ class RegisterVerifyMobileViewController: UIViewController { } } - @IBAction func callMe(sender: UIButton) { + @IBAction private func callMe(sender: UIButton) { callMeTimer.invalidate() @@ -157,7 +159,7 @@ class RegisterVerifyMobileViewController: UIViewController { }) } - func textFieldDidChange(textField: UITextField) { + @objc private func textFieldDidChange(textField: UITextField) { guard let text = textField.text else { return } @@ -165,7 +167,7 @@ class RegisterVerifyMobileViewController: UIViewController { haveAppropriateInput = (text.characters.count == YepConfig.verifyCodeLength()) } - func next(sender: UIBarButtonItem) { + @objc private func next(sender: UIBarButtonItem) { verifyRegisterMobile() }