swift 下标脚本的使用 学习笔记
目标任务
定义一个Zoo类 , 要求如下:
在类中定义五个属性分别用于表示,狮子、老虎、大象和猴子个数。
定义下标脚本设置set和get方法。
实例Zoo类,并使用下标脚本为属性赋值。
声明一个储存个数的变量sum,并使用for-in遍历求所有动物之和。
打印sum的值。
下标脚本的定义
class Zoo {
var lionNum : Int
var tigerNum : Int
var elephantNum : Int
var monkeyNum : Int
subscript( index: Int ) -> Int {
get {
switch index {
case 0:
return lionNum
case 1:
return tigerNum
case 2:
return elephantNum
case 3:
return monkeyNum
default :
return 0
}
}
set {
lionNum = newValue
tigerNum = newValue
elephantNum = newValue
monkeyNum = newValue
}
}
}
下标脚本的使用
var z1 = Zoo()
print("\(z1.lionNum)")
// 下标脚本的使用
z1[0] = 100
print("\(z1.lionNum)")
变量的声明
var sum = 0
for - in 遍历的使用
for i in 1...n {
print("\(i)")
}
学习过程中所遇问题
问题一:这个类 有变量没有被初始化,swift 类中声明的变量必须初始化赋值
核心代码
//
// main.swift
// sy5
//
// Created by com.ddm on 21/5/11.
// Copyright © 2021年 com.ddm. All rights reserved.
//
import Foundation
class Zoo {
var lionNum : Int = 0
var tigerNum : Int = 0
var elephantNum : Int = 0
var monkeyNum : Int = 0
subscript( index: Int ) -> Int {
get {
switch index {
case 0:
return lionNum
case 1:
return tigerNum
case 2:
return elephantNum
case 3:
return monkeyNum
default :
return 0
}
}
set {
switch index {
case 0:
lionNum = newValue
break
case 1:
tigerNum = newValue
break
case 2:
elephantNum = newValue
break
case 3:
monkeyNum = newValue
break
default:
break
}
}
}
}
var z1 = Zoo()
var sum = 0
z1[0] = 100
z1[1] = 200
z1[2] = 300
z1[3] = 400
for i in 0...3 {
sum += z1[i]
}
print("sum: \(sum)")
效果图
源代码地址
转载:https://blog.csdn.net/yk_ddm/article/details/116646010
查看评论