问题整理(一)Day5

这边把之前遇到的几个问题做一个问题整理

  1. Computed Property

    1. Get and Set
    Class CountPrice{
    	var one_price:Int = 100
    	var total_price:Int{
    		get{return 0.7 * one_price}
    		set(newPriceValue){
    			one_price = total_price * (10/7)
    	}
    
    // 读取时 使用get return 回传值
    // 设定时 使用set内
    
  2. Init

    1. required init

      定义 Swift 类别时,子类别预设并不会继承父类别的 initializer,除非满足某些特殊的条件。

      故要使用required init 去要求後面的所有子类继承init

      在使用init之前要确定所有的stored property都已经完成初始

      要符合以下两个原则

      • 属性的初始,必须在当初宣告属性的类别内进行
      • 子类别要先完成自己属性的初始,才可以进行父类别属性的初始
    2. super.init

      使用super.init可以去继承父类

  3. Self and self

    当使用小写self代表是自身的value值

    使用大写的Self代表是自身的type类型

  4. Where

    Swift中where用来设定约束条件、类型

    现在都用在if let、guard 都用 ","来代替where

    if let driver = ..... , let car = ...
    // 使用,来替代where作为约束
    

    参考连接:

    精於算计的 computed property(伪装成变数的 function)

    防止绝技失传的 required initializer

    Self vs self - what's the difference?


<<:  8. 解释 Event Loop ( 下 ) --- Task Queue ( Callback Queue )

>>:  【Day9】 Speaker Identification 介绍与 D_VECTOR 实做

[ Day 2 ] - 变数与型别(二)

变数与型别(二) 变数 简单回顾一下,变数的宣告方式 let catNum = 3; 用比较口语的方...

DAY4 双飞翼布局 - 三个栏的C位争夺战(下)

双飞翼和圣杯不同的是,双飞翼在<main>里面放一个子元素。圣杯是在外面包一个父元素。 ...

铁人赛 Day30 -- 铁人赛最後一天啦

经历了30天的铁人赛後,再次将我之前所学的再次地复习了一遍, 也藉此更了解到我之前到底都学了什麽,可...

假名数据(Pseudonymized data)

-化名(Pseudonymization) 假名(Pseudonymized)数据可以通过添加信息...

Day20-"字串练习-3"

利用strcmp()比较a字串与b字串,此时a字串与b字串的内容一模一样,印出比较结果。 . . ...