加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

[swift]-类的介绍之一

发布时间:2020-12-14 06:49:38 所属栏目:百科 来源:网络整理
导读: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: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 欢迎你们的阅读和赞赏、谢谢!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读