This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
import Alamofire | |
import SwiftyJSON | |
class ViewController: UIViewController { | |
convenience init() { self.init(nibName: "ViewController", bundle: nil) } | |
@IBOutlet weak var label: UILabel! | |
var networkClient: NetworkClientType = NetworkClient() | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Alamofire | |
import SwiftyJSON | |
import UIKit | |
class ViewController: UIViewController { | |
convenience init() { self.init(nibName: "ViewController", bundle: nil) } | |
@IBOutlet weak var label: UILabel! | |
override func viewDidLoad() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Alamofire | |
import SwiftyJSON | |
struct NetworkClient { | |
static func makeRequest(url: String, | |
params: [String : AnyObject], | |
callback: (JSON?, ErrorType?) -> Void) | |
{ | |
request(.POST, url, parameters: params).response { _, _, data, error in | |
if let jsonData = data where error == nil { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
import Alamofire | |
import SwiftyJSON | |
class ViewController: UIViewController { | |
convenience init() { self.init(nibName: "ViewController", bundle: nil) } | |
@IBOutlet weak var label: UILabel! | |
override func viewDidLoad() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- original | |
getBody :: ServerPart L.ByteString | |
parseBody :: FromJSON a => ServerPart (Maybe a) | |
parseBody = getBody >>= (return . A.decode) | |
-- attempt | |
parseBody :: FromJSON a => MaybeT (ServerPartT IO) a | |
parseBody = lift $ getBody >>= (return . A.decode) | |
-- Error |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
extension UIView { | |
@IBInspectable var borderColor: UIColor? { | |
get { return layer.borderColor.map(UIColor.init) } | |
set { layer.borderColor = newValue?.CGColor } | |
} | |
@IBInspectable var borderWidth: CGFloat { | |
get { return layer.borderWidth } | |
set { layer.borderWidth = newValue } | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Scenario: Parsing a JSON object that represents an item in a store | |
// JSON: { "name": "Bucket", "price": "19.95" } | |
// The following functions take in a price as a string, and output the result as an Int of cents | |
// cause I don't trust floating point operations when dealing with other people's money | |
struct Item { | |
let name: String | |
let price: Int | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
// MARK: - Building Blocks | |
struct Screen<A> { | |
let run: (A -> Void) -> UIViewController | |
} | |
extension Screen { | |
func map<B>(f: A -> B) -> Screen<B> | |
{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
struct Regex { | |
let pattern: String | |
let options: NSRegularExpressionOptions | |
private var matcher: NSRegularExpression { | |
return try! NSRegularExpression(pattern: pattern, options: options) | |
} | |
init(pattern: String, options: NSRegularExpressionOptions! = nil) | |
{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Utilities { | |
class func subviewsOfView(view: UIView, withType type: String) -> [UIView] | |
{ | |
let prefix = "<\(type)" | |
var subviewArray = view.subviews.flatMap { subview in subviewsOfView(subview, withType: type) } | |
if view.description.hasPrefix(prefix) { | |
subviewArray.append(view) | |
} | |