Skip to content

Instantly share code, notes, and snippets.

View darthpelo's full-sized avatar
🏠
Working from home

Alessio Roberto darthpelo

🏠
Working from home
  • Mobiquity Inc.
  • Amsterdam, Noord-Holland
View GitHub Profile
@darthpelo
darthpelo / flatmap.swift
Created September 8, 2016 10:01
How to perform map+filter in one command. Thanks to @nxsteveo @a2 & @nicklookwood
import Foundation
let a = [1,2,3,4,5]
let b = a.flatMap{ (i) -> (Int?) in
if i % 2 == 0 {
return i
} else {
return nil
}
}
@darthpelo
darthpelo / MyProjectTests.swift
Created August 22, 2016 09:53
How to setup a UIViewController and test it with Unit Test (Swift 3)
import XCTest
@testable import MyProject
class MyProjectTests: XCTestCase {
var mainvc: MyProject.ViewController!
private func setUpViewControllers() {
let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
@darthpelo
darthpelo / curry.swift
Last active June 6, 2016 11:32
Currying in Swift, an example
func appender(delimeter:String)->(String)->String {
var buffer = ""
return {
buffer += $0 + delimeter
return buffer
}
}
let strings = ["a", "b", "c"]
let append = appender(", ")
@darthpelo
darthpelo / QuadratTouchExample.swift
Created March 20, 2016 17:09
QuadratTouch search API example
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if let location = locations.first {
print("Found user's location: \(location)")
let session = Session.sharedSession()
var parameters = location.parameters()
let cat = Constants().categoryID() ?? ""
parameters += [Parameter.categoryId:cat]
parameters += [Parameter.intent:"browse"]
parameters += [Parameter.radius:"800"]
@darthpelo
darthpelo / closureOne.swift
Last active October 15, 2015 12:51
Playing with closure. Copy&paste in Playground
typealias closureType = (Int) -> (Int)
let ff = { return $0 * 2 }
let tt = { return $0 - ff($0) }
func ret(idx: Int, closure: closureType) -> NSNumber {
return NSNumber(integer: closure(idx))
}
@darthpelo
darthpelo / flatMapTwo.swift
Last active September 15, 2015 12:04
Use reduce, in Swift 1.2, to filter a list of objects and create a array with objects with a specific property not nil. Based on an idea of Berik (https://github.com/berikv).
let list: [String?] = [nil, nil, "ciao", "hello", nil]
struct Obj {
var group: [String?]?
let name: String?
}
let o1 = Obj(group: list, name: "first")
let o2 = Obj(group: nil, name: "second")
@darthpelo
darthpelo / flatMapOne.swift
Last active September 15, 2015 12:02
How to implement flatMap in Swift 1.2. An idea of Berik https://github.com/berikv.
let list: [String?] = [nil, nil, "ciao", "hello", nil]
list.reduce([String]()) {
if let e = $1 {
return $0 + [e]
} else {
return $0
}
}