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

本文介绍了一个使用Swift语言实现的Zoo类案例,通过定义下标脚本(set和get)来管理动物园中不同种类动物的数量。文章展示了如何实例化Zoo类并使用下标脚本来设置各属性值,最后通过遍历求和来统计动物园内所有动物的总数。

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)")

效果图

在这里插入图片描述

在这里插入图片描述

源代码地址

源代码地址

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值