一:

主要内容

  • 类的介绍和定义
  • 类的属性
  • 类的构造函数

一. 类的介绍和定义

  • Swift也是一门面向对象开发的语言
  • 面向对象的基础是类,类产生了对象
  • 在Swift中如何定义类呢?
  • class是Swift中的关键字,用于定义类
class 类名 : SuperClass {
    // 定义属性和方法
}
  • 注意:
  • 定义的类,可以没有父类.那么该类是rootClass
  • 通常情况下,定义类时.继承自NSObject(非OC的NSObject)
import UIKit

/*
 1.类的定义
 2.创建类对应的对象
 3.给类的属性赋值
    1> 直接赋值
    2> 通过KVC赋值
 4.可以重写setValue(value: AnyObject?, forUndefinedKey key:,那么字典中没有的字段可以在类中没有对应的属性
 5.override : 重写, 如果写的某一个方法是对父类的方法进行的重写,那么必须在该方法前加上override
 */


class Person : NSObject {
    var age : Int = 0
    
    // override : 重写, 如果写的某一个方法是对父类的方法进行的重写,那么必须在该方法前加上override
    override func setValue(_ value: Any?, forUndefinedKey key: String) {
    }
}


let p = Person()
//p.age = 20

p.setValuesForKeys(["age" : 18, "name" : "why"])
print(p.age)
import UIKit

class Person : NSObject {//class:声明类的关键字,声明一个类时,可以继承,也可以不去继承
    //定义类的属性:可选类型定义,表示可以为nil也可以不为nil
    var name : String?
    var age : Int = 0
    var height : Double = 0.0
}

let p = Person()//创建对象

// 注意:赋值不是调用set方法,直接拿到属性给属性赋值:继承NSObject也可以利用kvc赋值,若是类属性中找不到对应的key值,会产生崩溃,可以在类中重写setvalueforUnderdefinekey来实现
 = "why"
p.age = 18
p.height = 1.88