小言_互联网的博客

《swift 下标脚本的使用 学习笔记》

207人阅读  评论(0)

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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场