Skip to content

Instantly share code, notes, and snippets.

Avatar

Tomasz Szulc tomkowz

View GitHub Profile
View editing-failable-enums-with-optionals-1.swift
enum SegueIdentifier: String {
case SegueToRedViewIdentifier = "SegueToRedViewIdentifier"
case SegueToGreenViewIdentifier = "SegueToGreenViewIdentifier"
case SegueToBlueViewIdentifier = "SegueToBlueViewIdentifier"
init?(optionalRawValue: String?) {
if let value = optionalRawValue {
switch value {
case "SegueToRedViewIdentifier": self = .SegueToRedViewIdentifier
case "SegueToGreenViewIdentifier": self = .SegueToGreenViewIdentifier
View editing-failable-enums-with-optionals-2.swift
enum SegueIdentifier: String {
case SegueToRedViewIdentifier = "SegueToRedViewIdentifier"
case SegueToGreenViewIdentifier = "SegueToGreenViewIdentifier"
case SegueToBlueViewIdentifier = "SegueToBlueViewIdentifier"
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if let segueIdentifier = segue.identifier {
if let segueIdentifierValue = SegueIdentifier(rawValue: segueIdentifier) {
View editing-failable-enums-with-optionals-3.swift
enum SegueIdentifier: String {
case SegueToRedViewIdentifier = "SegueToRedViewIdentifier"
case SegueToGreenViewIdentifier = "SegueToGreenViewIdentifier"
case SegueToBlueViewIdentifier = "SegueToBlueViewIdentifier"
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if let segueIdentifier = SegueIdentifier(
View editing-failable-enums-with-optionals-4.swift
enum SegueIdentifier: String {
case ToRed = "Red"
case ToGreen = "Green"
case ToBlue = "Blue"
init?(_ rawValue: String?) {
/// check if rawValue is nil
if rawValue == nil {
return nil
}
View editing-failable-enums-with-optionals-5.swift
enum SegueIdentifier: String {
case ToRed = "Red"
case ToGreen = "Green"
case ToBlue = "Blue"
init?(_ rawValue: String?) {
let out = SegueIdentifier(rawValue: rawValue ?? "")
if rawValue != nil && out != nil {
self = out!
} else {
View 10-11-2014-1.swift
class ViewController: UIViewController {
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var actionButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
self.actionButton.enabled = false
}
@IBAction func onActionPressed(sender: AnyObject) {
View 10-11-2014-2.swift
class ViewController: UIViewController {
/// outlet for the control may be here if used
}
View 10-11-2014-3.swift
override func awakeAfterUsingCoder(aDecoder: NSCoder) -> AnyObject? {
if self.subviews.count == 0 {
let nib = UINib(nibName: "MessageControl", bundle: nil)
let view = nib.instantiateWithOwner(nil, options: nil).first! as MessageControl
view.setTranslatesAutoresizingMaskIntoConstraints(false)
return view
}
return self
}
View 10-11-2014-4.swift
class MessageControl: UIView {
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var actionButton: UIButton!
override func awakeFromNib() {
super.awakeFromNib()
self.actionButton.enabled = false
}
View gist:81e514284ed982251e38
//
// main.cpp
// ctci-3-3
//
// Created by Tomasz Szulc on 14/07/15.
// Copyright (c) 2015 Tomasz Szulc. All rights reserved.
//
#include <iostream>