Difference between revisions of "Mobile App Dev 2021W: Tutorial 1"

From Soma-notes
Jump to navigation Jump to search
Line 19: Line 19:
[https://homeostasis.scs.carleton.ca/~soma/mad-2021w/code converter-1.zip]
[https://homeostasis.scs.carleton.ca/~soma/mad-2021w/code converter-1.zip]


===converter-1/ContentView.swift===
===Converter-1/Shared/ContentView.swift===


<syntaxhighlight lang="swift" line>
<syntaxhighlight lang="swift" line>
import
import
import SwiftUI


struct ContentView: View {
    @State private var Fs = ""
    var body: some View {
        VStack{
            Text("Temperature Converter")
                .font(.title)
                .fontWeight(.bold)
                .padding()
            HStack{
                Text("Farenheit:")
                TextField("", text: $Fs)
            }
            if let F = Double(Fs) {
                let C = (F - 32.0) * (5/9)
                Text("\(Fs) is \(C) Celsius")
            } else {
                Text("Enter a number please.")
            }
        }
    }
}
struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
</syntaxhighlight>
</syntaxhighlight>

Revision as of 01:50, 17 January 2021

This tutorial is still being developed.

In this tutorial you will extend and study a simple app for temperature conversion.

Getting Started

First, you should configure your Xcode environment and make sure you can successfully run an automatically generated hello world program. Once that all works, move on to the exercises below.

Download Converter-1

Download converter-1.zip and unpack it in your code directory. Open the project in Xcode. It should look similar to the hello world program you created previously, except this one has a bit more code. When you refresh the preview, it should look like the following:

Add picture of loaded project

Make sure you can run the project in the simulator.

Code

converter-1.zip

Converter-1/Shared/ContentView.swift

import
import SwiftUI

struct ContentView: View {
    @State private var Fs = ""
    var body: some View {
        VStack{
            Text("Temperature Converter")
                .font(.title)
                .fontWeight(.bold)
                .padding()
            HStack{
                Text("Farenheit:")
                TextField("", text: $Fs)
            }
            if let F = Double(Fs) {
                let C = (F - 32.0) * (5/9)
                Text("\(Fs) is \(C) Celsius")
            } else {
                Text("Enter a number please.")
            }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}