- Hands-On Full:Stack Development with Swift
- Ankur Patel
- 336字
- 2021-08-27 19:39:46
Blueprinting the Shopping List Item model
Now that we understand the files and folders in our projects a little bit, let's start writing some code. We will begin by writing code for our first model, the Shopping List Item. To do so, perform the following steps:
- Create a new group called Models under the ShoppingList folder in your project.
- Then right-click and click on New File... under the Models folder and select a Swift file from the iOS template. Call this new file Item.swift and click Create.
- Copy the following code into the Item.swift file:
import UIKit
class Item {
var name: String
var isChecked: Bool
init(name: String, isChecked: Bool = false) {
self.name = name
self.isChecked = isChecked
}
}
Let's go over the code in more detail:
We define a class called Item which will serve as a blueprint for our Shopping List Items:
class Item {
We then define two properties to store a name for the item and the state of the item on whether it is checked or unchecked. These two properties are called name and isChecked and their types are String and Bool, respectively:
var name: String
var isChecked: Bool
Lastly, we define a construction that takes in one require argument, which is name, and the second optional argument, which is the property value for isChecked that defaults to false:
init(name: String, isChecked: Bool = false) {
self.name = name
self.isChecked = isChecked
}
That is our model to store the data of our Shopping List Item. We will look at how we can create an instance of our model in the controller and then show them in the table view. Before we do, it's time for a short exercise. The solution of this exercise will be used later in the app to generate fake items to show some data in the app when it launches, instead of seeing an empty table view on launch.
- 廣電5G從入門到精通
- 網管員典藏書架:網絡管理與運維實戰寶典
- Learning QGIS 2.0
- 面向云平臺的物聯網多源異構信息融合方法
- 中小型局域網組建、管理與維護實戰
- 網絡基礎與網絡管理項目化教程
- 網管第一課:網絡操作系統與配置管理
- Getting Started with Memcached
- 網絡利他行為研究:積極心理學的視角
- Learning Node.js Development
- 移動物聯網:商業模式+案例分析+應用實戰
- Corona SDK Application Design
- ReasonML Quick Start Guide
- 網絡設備配置與調試項目實訓
- Learning IoT with Particle Photon and Electron