Skip to content

Instantly share code, notes, and snippets.

@Ceri-anne
Ceri-anne / WebViewController.swift
Last active November 25, 2017 20:19
WebViewController
import UIKit
import WebKit
class WebViewController: UIViewController, WKNavigationDelegate {
var webView: WKWebView!
var colour: String?
override func loadView() {
webView = WKWebView()
@Ceri-anne
Ceri-anne / ViewController.swift
Created November 25, 2017 20:20
ViewController
import UIKit
class ViewController: UIViewController {
@IBAction func buttonTapped(_ sender: Any) {
performSegue(withIdentifier: "showWebView", sender: sender)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
@Ceri-anne
Ceri-anne / webViewDidFinish
Last active November 25, 2017 21:58
webViewDidFinish
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
let css = "body { background-color : #ff0000 }"
let js = "var style = document.createElement('style'); style.innerHTML = '\(css)'; document.head.appendChild(style);"
webView.evaluateJavaScript(js, completionHandler: nil)
}
@Ceri-anne
Ceri-anne / FlatMap.swift
Created January 7, 2018 16:58
Playing with Map and FlatMap
// map function
let array = [1,2,3,4,5]
let doubleArray = array.map { $0 * 2 } //produces [2,4,6,8,10]
let players = ["Gerrard", "Dalglish", "Barnes"]
//Create a function upper which takes a String and returns an uppercased String
func upper(name: String) -> String {
return name.uppercased()
}
let array = [1,2,3,4,5]
let doubleArray = array.map { $0 * 2 }
print(doubleArray) // returns [2,4,6,8,10]
let players = ["Gerrard", "Dalglish", "Barnes"]
players.map { $0.uppercased() } //produces ["GERRARD", "DALGLISH", "BARNES"]
let players = ["Gerrard", "Dalglish", "Barnes"]
let playersUpper = players.map { $0.uppercased() }
print(playersUpper) // returns ["GERRARD", "DALGLISH", "BARNES"]
let players = ["Gerrard", "Dalglish", "Barnes"]
var playersUppercased = [String]()
for player in players {
playersUppercased.append(player.uppercased())
}
print(playersUppercased) // returns ["GERRARD", "DALGLISH", "BARNES"]
let numbers = [1,2,3,4,5,6,7,8,9,10]
let evenNumbers = numbers.compactMap { $0 % 2 == 0 ? $0 : nil }
print(evenNumbers) //returns [2,4,6,8,10]
let forwards = ["Owen", "Fowler", "Rush"]
let midfielders = ["Barnes", "McManaman", "Gerrard"]
let defenders = ["Carrager", "Thompson", "Nicol"]
let players = [forwards, midfielders, defenders]
let allPlayers = players.flatMap { $0 }
print(allPlayers) // returns ["Owen", "Fowler", "Rush", "Barnes", "McManaman", "Gerrard", "Carrager", "Thompson", "Nicol"]