1.新建一个Person类
//
// Person.swift
import UIKit
class Person: NSObject {
/*
如果定义属性的时候没有初始化,那么必须在后面写上一个?号
Swift要求,属性是必须有初始化值的
只要在构造方法中对属性初始化,那么就不用写?号
*/
var name:String?
/*
如果是定义一个『对象属性』那么后面可以写上?号
如果是定义一个『基本数据类型属性』,那么建议直接赋值为0
因为super.init()方法在分配内存存储空间的时候,如果发现属性是一个对象,并且是一个可选类型,会给这个属性分配存储空间;
但是如果是一个基本数据类型,并且是可选的,那么super.init()不会给该属性分配存储空间
*/
// var age:Int?
var age:Int = 0
init(dict:[String:NSObject]) {
// 注意点:Swift中如果想在构造方法中使用KVC给属性赋值
// 那么在使用KVC之前必须调用 super.init()
super.init()
setValuesForKeysWithDictionary(dict)
}
}
2.控制器使用
//
// ViewController.swift
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let p3 = Person(dict:["name":"zhangsan","age":998])
print("\(p3.name), \(p3.age)")
}
}