//: Playground - noun: a place where people can play
import UIKit
/*
人类
*/
class Person:NSObject {
var name = "姓名";
var age = 0;
var sex = "性别";
//1.构造函数
override init(){
// 重载父类方法,指的是先走父类的方法
// 在构造函数中,如果没有明确super.init(),系统就会帮助调用
super.init();
print("---");
}
//2.自定义构造函数
init(name:String,age:Int){
self.name = name;
self.age = age;
}
//3.字典
init(dict:[String:Any]){
self.name = dict["name"] as! String;
self.age = dict["age"] as! Int;
//可选绑定
if let tempSex = dict["sex"] as? String{
sex = tempSex;
}
}
//4.kvc
init(dic:[String:Any]){
super.init();
setValuesForKeys(dic);
}
//防崩溃 - 找不到key
override func setValue(_ value: Any?, forUndefinedKey key: String) {
}
//防崩溃 - 找不到value
override func setNilValueForKey(_ key: String) {
}
}
//1.构造函数
var p = Person();
//2.自定义构造函数
var p1 = Person.init(name: "姓名", age: 18);
print(p1.name);
print(p1.age);
//3.字典
var dict = ["name":"小明","age":20,"sex":"女"] as [String : Any];
var p2 = Person.init(dic: dict);
print(p2.name);
print(p2.age);
//4.kvc
var dic = ["name":"小明","age":20,"sex":"女"] as [String : Any];
var p3 = Person.init(dic: dic);
print(p3.name);
print(p3.age);
网友评论