We will meet at our usual time and place: 5:45 PM at 25N Coworking
Finalize Plans for our Jellyvision Field trip!
Continue working on our multi-component Weather Wear software :
-
Review overall solution architecture:
- Lucid Chart diagram by Robin
-
C#/Swift Tutorial: Learn/review some object-oriented concepts
- Classes and Objects: Properties (values) and Methods (behaviors defined in functions/procedures)
- How are they defined and used in C#? In Swift?
- Objects as Models for Data:
- Tools:
- What is the data model for the JSON returned from the Weather Underground API Request for the Forecast?
- What is the data model for the JSON returned from the API of the WeatherWear Web Service we are building?
- Can/should the WeatherWear data model inherit the Weather Underground Forecast data model?
-
Web Service Team:
- Merge Web API code with the GitHub Repo
- Continue work on algorithm and implementation of the WeatherWear Web Service and the console app to test it
-
Swift Team:
- MVC: Model/View/Controller design pattern
- Model represents the data model defined in a class; we will create a model class for the Weather Forecast, and later for the WeatherWear API Response
- View is the Presentation Layer, i.e, the screen the user sees
- Controller: Code that handles the user input, talks to the model, handles interactions between Model and View. In Swift, we will define a Class for the controller; there will be a ViewController Class defined for each View
- Review/Learn how to connect UI elements to code. Elements in the UI designed on the storyboard need to be connected to code in the appropriate controller:
- @IBOutlet: in a code module, an Interface Builder Outlet is a variable that holds a reference to an element on the storyboard. Example: our screen has a label to display a city name and we need our code to be able to access it. We add this to our view controller:
- MVC: Model/View/Controller design pattern
@IBOutlet weak var cityLabel: UITextField!
-
-
- @IBAction: in a code module, an Interface Builder Action is a function that is connected to a user interaction with a UI element. Example: update the city label when the user clicks a button. We add a connection between the function named GetWeather and the button; then define the action inside the function
@IBAction func GetWeather(_ sender: Any) { cityLabel.text = “Geneva” }
- @IBAction: in a code module, an Interface Builder Action is a function that is connected to a user interaction with a UI element. Example: update the city label when the user clicks a button. We add a connection between the function named GetWeather and the button; then define the action inside the function
- Start setting up the code to send the Web API Request for WeatherWear
- We will initially set up code to access the existing Weather Underground Forecast API
-