Method

var word = "fortunate"
word.contains("tuna")

var password = "Mary had a little loris"
var newPassword = password.replacingOccurences(of: "a" with "A")
import Foundation

var didYouKnowString = "Did you know that the Swift String class comes with lots of useful methods?"
var whisperString = "pass" + ", " + "\(didYouKnowString.lowercased())"
var shoutString = "TODO: Make the shoutString here!"
import Foundation

var forwardString = "stressed"

var lottaLikes = "If like, you wanna learn Swift like, you should build lots of small apps, cuz it's like, a good way to practice."

string interpolation

import Glibc

var nounArray = ["puppy", "laptop", "ocean", "app", "cow", "skateboard", "developer", "coffee", "moon"]

var index1 = Int(random() % 9)
var index2 = Int(random() % 9)

var sentence = "The \(nounarray[6]) spilled her \(nounArray[7])."

var sillySentence = "The \(nounArray[index1]) jumped over the \(nounArray[index2])."

print(sentence)
print(sillySentence)
var eString = "Meet me in St. Louis"
for character in eString.characters {
	if character == "e" {
		print("found an e!")
	} else {
	
	}
}
var eString = "Meet me in St. Louis"
for character in eString.characters {
	if character == "e" {
		print("found an e!")
	} else {	
	}
}

var theTruth = "Mony can buy me love."
var characterCount = theTruth.characters.count

var forwardString = "spoons"
var charactersReversed = forwardString.characters.reversed()
var backwardsString = String(charactersReversed)

print(backwardsString)
found an e!
found an e!
found an e!
snoops

swift string

var exitement: Character = "!"

var myFirstString: String = "In wine, there is wisdom."
var mySecondString: String = "In water, there is Giardia."

var characterPoorString = ""

var stringWithPotential = String()

var theTruth = myFirstString + " " + mySecondString

print(theTruth)
// Plain string
var doggyDiet = "Mia eats 10lbs of dog food per month"

// define variables
var dogName = "Mia"
var lbsPerMonth: Double = 10

// Same string, this time with the variable inserted
doggyDiet = "\(dogName) eats \(lbsPerMonth)lbs of dog food per month"
print(doggyDiet)

let kilosInALb = 0.45
lbsPerMonth = 25
var metricDoggyDiet = "\(dogName) eats \(kilosInAlb * lbsPerMonth)kilos of dog food per month"

print(metricDoggyDiet)

dogName = "Mia"
lbsPerMonth = 10
metricDoggyDiet = "\(dogName) eats \(kilosInALb * lbsPerMonth)kilos of dog food per month"

print(metricDoggyDiet)

sandbox

print((200 * 7)/2)
print("Hello from the ios team")

variable function

var name = "jack"
var introduction = "I'm \(name),"

var nobleGoal = "skill up"
var yourDream = " and I used to dream of building an app that could \(nobleGoal)."

print(introduction + yourDream)

try again

var language = "swift"
var epiphany = " Then, one day, I discovered \(language)."

print(epiphany)

concatenate variable each other

var language = "java"
var nobleGoal = "AR"

var condition = "Then I knew that, programming in \(language). "
var result = "I could make my dream of \(nobleGoal) a realilty."

var end = condition + result
print(end)

function

func averageScore(firstScore: Double, secondScore: Double, thirdScore: Double){
	let totalScore = firstScore + secondScore + thirdScore
	print(totalScore/ 3)
	}
func nameOfFunction(/* parameters */) -> Type {
	var valueToReturn: Type
	return valueToReturn
}

func calculateTip(priceOfMeal: Double) -> Double {
	return priceOfMeal * 0.15
}

func isValidLength(password: String) -> Bool {
	if password.characters.count >= 8 {
		return true
	} else {
		return false
	}
}

func calculateTip(priceOfMeal: Double -> Double{
	return priceOfMeal * 0.15
	})

let priceOfMeal = 43,27

let tip = calculateTip(priceOfMeal: priceOfMeal)

what’s string about

let theTrueth = "Money can't buy me love."
theTruth.characters.count

var forwardString = "spoons"
var charactersReversed = forwardString.characters.reversed()

for character in charactersReversed {
	print ("\(character)")
}

let similarTruth = "can't buy me"
var birthdayCheer = "Happy Birthday!"
print(birthdayCheer)

var name = "Kate"
var customizedBirthdayCheer = "Happy Birthday, \(name)!"
print(customizedBirthdayCheer)
var doggyDiet = "Mia eats 10 lbs of dog food per month."

var dogName = "Zebedee"
var lbsPerMonth: Double = 25

doggyDiet = "\(dogName) eats \(lbsPerMonth)lbs of dog food per month"

print(doggyDiet)

var kilosInALb = 0.45
var metricDoggyDiet = "\(dogName) eats \(kilosInALb * lbsPerMonth)kilos of dog food per month"

print(metricDoggyDiet)
let monkeyString = "I saw a monkey."
let thiefString = "He stole my iPhone."

var monkeyStringWithEmoji = "I saw a *."
var thiefStringWithEmoji = "He stole my *."

var forwardString = "time"
var charactersReversed = forwardString.characters.reversed()

for character in charactersReversed {
	print("\(character)")
}

let numOfPennies = 567
let dollarInt = numofPennies/100
let dollarsAndCentsString = "$\(dollarInt).\(numOfPennies % 100)"

let monkeyString = "I saw a monkey."
let thiefString = "He stole my iPhone."
var sillyMonkeyString = monkeyString + "" + thiefString

replacingOccurences(of: with:)

sillyMonkeyString.contains("key")

Different types of variables

var petsAge = 12
var myMiddleInitial: Character = "A"
var numberOfWheels: Int = 4
var centimetersOfRainfall: Float = 5.5
var pi: Double = 3.14159265359
var letterOfTheDay: Character = "z"
var myFavoriteAnimal: String = "nudibranch"
var rainingOutside: Bool = true
let encouragement = "you can do it!"
var customizedEncouragement = "you can do it, stephanie!"
customizedEncouragement = "you can do it, Ryder!"

let birthYear = 2008
var currentYear = 2017
var age = currentYear - birthYear
currentYear = 2017
age = currentYear - birthYear

Names cannot contain whitespace characters, mathematical symbols, arrows and [a few other obscure characters].
Names must begin with an uppercase or lowercase letter A through Z, an underscore, or [a few other less common options].

let theTrue = "Money can't buy me love."

var characterPoorString = ""
let stringWithPotential = String()

Sandbox

// test code here!
print((200 * 7)/2)

print("hello from iOS team")

var question = "Ready to write your first lines of Swift code?"
print(question)

var response = "Yeah! I'm ready!"
print(response)
var numberOfServingsForRecipe = 4
var desiredNumberOfServings = 8

var servingsFactor = desiredNumberOfServings/numberOfServingsForRecipe

var poundsOfTomatoesForRecipe = 2
var amountToUseToday = poundsOfTomatoesForRecipe * servingsFactor

print(amountToUseToday)

browser app

screen-shot-2016-11-26-at-07-06-42

import UIKit

class ViewController: UIViewController, UIWebViewDelegate, UITextFieldDelegate {
    
    
    @IBOutlet weak var textField: UITextField!
    @IBOutlet weak var webView: UIWebView!
    @IBOutlet weak var backButton: UIBarButtonItem!
    @IBOutlet weak var forwardButton: UIBarButtonItem!
    @IBOutlet weak var activityIndicatorView: UIActivityIndicatorView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let topBorder = CALayer()
        topBorder.frame = CGRectMake(0, 0, self.webView.frame.size.width, 1)
        topBorder.backgroundColor = UIColor.lightGrayColor().CGColor
        self.webView.layer.addSublayer(topBorder)
        self.webView.delegate = self
        self.textField.delegate = self
        
        self.webView.delegate  = self
        self.textField.delegate = self
        
        // string -> NSURL -> NSURLRequest -> webView.loadRequest
        let startUrl = "http://google.com"
//        if let url = NSURL(string: startUrl){
//            let urlRequest = NSURLRequest(URL: url)
//            self.webView.loadRequest(urlRequest)
//        }
        self.jumpToUrl(startUrl)
        self.setupButtonsEnabled()
        self.activityIndicatorView.hidesWhenStopped = true
    }
    
    func jumpToUrl(urlString: String){
        if let url = NSURL(string: urlString){
            let urlRequest = NSURLRequest(URL: url)
            self.webView.loadRequest(urlRequest)
        } else {
            self.showAlert("Invalid URL")
        }
    }
    
    func showAlert(message: String){
        let alertController = UIAlertController(title: "Error", message:message, preferredStyle: .Alert)
        let defaultAction = UIAlertAction(title: "OK", style: .Default, handler: nil)
        alertController.addAction(defaultAction)
        self.presentViewController(alertController, animated: true, completion: nil)
    }
    
    func textFieldShouldReturn(textField: UITextField) -> Bool {
        var urlString = self.textField.text
        urlString = urlString.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
        if urlString == "" {
            // alert
            self.showAlert("please enter URL")
        } else {
            if urlString.hasPrefix("http://") && !urlString.hasPrefix("https://") {
                urlString = "http://" + urlString
            }
            self.jumpToUrl(urlString)
            self.setupButtonsEnabled()
        }
        self.textField.resignFirstResponder()
        return true
    }
    
    func setupButtonsEnabled() {
        self.backButton.enabled = self.webView.canGoBack
        self.forwardButton.enabled = self.webView.canGoForward
    }
    
    func webView(webView: UIWebView, didFailLoadWithError error: NSError) {
        self.webView.stopLoading()
        self.activityIndicatorView.stopAnimating()
        
        if error.code != NSURLErrorCancelled {
            self.showAlert("Network Error")
        }
        self.updateUrlLocation()
    }
    
    func webViewDidStartLoad(webView: UIWebView) {
        self.activityIndicatorView.startAnimating()
    }
    
    func updateUrlLocation(){
        if let urlString = self.webView.request?.URL?.absoluteString {
            self.textField.text = urlString
        }
    }
    
    
    func webViewDidFinishLoad(webView: UIWebView) {
        self.activityIndicatorView.stopAnimating()
        self.setupButtonsEnabled()
        self.updateUrlLocation()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
    
    @IBAction func goBack(sender: AnyObject) {
        self.webView.goBack()
    }
    
    @IBAction func goForward(sender: AnyObject) {
        self.webView.goForward()
    }
    
    @IBAction func reload(sender: AnyObject) {
        self.webView.reload()
    }

}

string -> NSURL -> NSURLRequest -> webView.loadRequest

    @IBOutlet weak var textField: UITextField!
    @IBOutlet weak var webView: UIWebView!
    @IBOutlet weak var backButton: UIBarButtonItem!
    @IBOutlet weak var forwardButton: UIBarButtonItem!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // string -> NSURL -> NSURLRequest -> webView.loadRequest
        let startUrl = "http://hogehoge.com"
        if let url = NSURL(string: startUrl){
            let urlRequest = NSURLRequest(URL: url)
            self.webView.loadRequest(urlRequest)
        }
        
    }