前端之家收集整理的这篇文章主要介绍了
swift学习笔记之构造方法和析构方法,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
import Foundation
struct Fahrenheit {
var temperature:Double
init() {
temperature = 32.0
}
}
var f = Fahrenheit()
print("the default temperature=\(f.temperature)")
struct Size {
var width = 0.0,height = 0.0
}
let twoByTwo = Size(width: 2.0,height: 2.0)
struct Point {
var x = 0.0,y = 0.0
}
class ShoppingListItem {
var name: String?
var quantity = 1
var purchased = false
}
var item = ShoppingListItem()
struct Celsius {
var temperatureInCelsius: Double = 0.0
init(fromFahrenheit fahrenheit: Double) {
temperatureInCelsius = (fahrenheit - 32.0)
/ 1.8
}
init(fromKelvin kelvin: Double) {
temperatureInCelsius = kelvin - 273.15
}
}
let boilingPointOfWater = Celsius(fromFahrenheit:212.0)
let freezingPointOfWater = Celsius(fromKelvin:273.15)
class SurveyQuestion {
let text: String
var response: String?
init(text: String) {
self.text = text
}
func ask() {
print(text)
}
}
var a = SurveyQuestion(text: "dddd")
a.ask();
class SurveyQuestion1 {
var text: String
var response: String?
init(text: String) {
self.text = text
}
func ask() {
print(text)
}
}
let cheeseQuestion = SurveyQuestion(text: "Do you like cheese?")
cheeseQuestion.ask()
cheeseQuestion.response = "Yes,I do like cheese."
struct Rect {
var origin = Point()
var size = Size()
init() {}
init(origin: Point,size: Size) {
self.origin = origin
self.size = size
}
init(center: Point,size: Size) {
let originX = center.x - (size.width / 2)
let originY = center.y - (size.height / 2)
self.init(origin: Point(x: originX,y: originY),size: size)
}
}
class Food {
var name: String
init(name: String) {
self.name = name
}
convenience init() {
self.init(name: "[Unnamed]")
}
}
let namedMeat = Food(name: "Bacon")
let mysteryMeat = Food()
class RecipeIngredient: Food {
var quantity: Int
init(name: String,quantity: Int) {
self.quantity = quantity
super.init(name: name)
}
convenience override init(name: String) {
self.init(name: name,quantity: 1)
}
}
let oneMysteryItem = RecipeIngredient()
let oneBacon = RecipeIngredient(name: "Bacon")
let sixEggs = RecipeIngredient(name: "Eggs",quantity: 6)
class ShpingListItem: RecipeIngredient {
var purchased = false
var description: String {
var output = "\(quantity) x \(name.lowercaseString)"
output += purchased ? " ✔" : " ✘"
return output
}
}
var breakfastList = [
ShoppingListItem(),ShpingListItem(name: "Bacon"),ShpingListItem(name: "Eggs",quantity: 6),]
for item in breakfastList {
print(item.description)
}
struct Checkerboard {
let boardColors: [Bool] = {
var temporaryBoard = [Bool]()
var isBlack = false
for i in 1...10 {
for j in 1...10 {
temporaryBoard.append(isBlack)
isBlack = !isBlack
}
isBlack = !isBlack
}
return temporaryBoard
}()
func squareIsBlackAtRow(row: Int,column: Int) -> Bool {
return boardColors[(row * 10) + column]
}
}
class Player {
var coinsInPurse:Int
init(coins: Int) {
print("call init")
coinsInPurse = coins
}
func winCoins(coins: Int) {
coinsInPurse += 10
}
deinit {
coinsInPurse = 0
}
}
var playerOne: Player? = Player(coins: 100)
print("coinsInPurse : \(playerOne!.coinsInPurse) coins")
playerOne = nil
print("PlayerOne has left the game")