1:swift也是一门面向对象开发的语言
2:面向对象的基础是类,类产生对象
3:在swift中,class用于定义类
01-swift类的定义格式:
// 定义格式:
class a : NSObject {
var age = 0
//var name : String? = nil
}
02-swift创建对象
let a1 = a()
03-swift给类的属性两种方式赋值
> 1:直接赋值
// 直接赋值1
let a1 = a()
a1.age = 19
print(a1.age)
> 2:使用KVC赋值
// kvc赋值2
a1.setValuesForKeysWithDictionary(["age" : 29])
print(a1.age)
04-使用kVC给类的属性赋值的一个主意环节:
> 如果传入的字典里的字段不是该类中的属性,如果不处理,系统就会报错、如name字断
a1.setValuesForKeysWithDictionary(["age" : 29, "name" : "sky"])
print(a1.age)
> 解决办法:需要重写系统的一个方法:
override func setValue(value: AnyObject?, forUndefinedKey key: String) {}
class a : NSObject {
var age = 0
//var name : String? = nil
override func setValue(value: AnyObject?, forUndefinedKey key: String) {}
}
整体阐述几个点:
> 1: 类的定义
> 2: 创建类对应的对象
> 3: 给类的属性赋值 {01-直接赋值;02-通过kvc赋值}
> 4:可以重写setVale(value:AnyObject?,forUndefinedKey key:),那么字典中没有的字段可以在类中没有对应的属性
> 5:override:重写,如果写的某一个方法是对父类方法进行重写,那么必须在该方法前加上override
意见反馈邮件:1415429879@qq.com
欢迎你们的阅读和赞赏、谢谢!