文档章节

[swift]-类的介绍之一

XJDomain
 XJDomain
发布于 2016/08/01 11:10
字数 439
阅读 7
收藏 0
点赞 0
评论 0

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
欢迎你们的阅读和赞赏、谢谢!

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
XJDomain
粉丝 15
博文 112
码字总数 44060
作品 0
嘉定
高级程序员
学习苹果Swift语言的一些在线资源(2014年9月10日更新)

Swift是苹果为OS X和iOS平台引入的一种新的程序设计语言,这种程序设计语言已经激发了开发者社区的大量关注。仅仅几天之内,在Stack Overflow网站上提出的关于Swift的问题已经有500多个,在G...

tyou ⋅ 2015/08/11 ⋅ 0

使用Swift开发React Native组件(一)

使用Swift开发React Native组件(一) RN已经在圈子里流行很长一段时间了,网上相关的文章和介绍也很多,笔者很早之前也接触过一段时间,但也仅仅只是浅尝即止,这次正好有时间,所以准备深度...

黑血沸腾 ⋅ 2017/05/27 ⋅ 0

swift中的属性访问控制

最近在学习swift中...看到 fileprivate关键字,于是去好好研究了下,发现一篇讲解的还不错的文章,这里直接就分享给大家。 在swift 3中新增加了两中访问控制权限和。下面将对这两种新增访问控...

zh_iOS ⋅ 2016/11/22 ⋅ 0

Swift 2.0 到底「新」在哪?

【编者按】2015年6月,一年一度的苹果 WWDC 大会如期而至,在大会上苹果发布了 Swift 2.0,引入了很多新的特性,以帮助开发者更快、更简单地构建应用。本篇文章作者是 Maxime defauw ,本文中...

OneAPM蓝海讯通 ⋅ 2015/08/26 ⋅ 0

微信终端开发团队:新年新语言,WCDB Swift

欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:sanhuazhang,此文发布在微信终端开发团队的专栏 WCDB 作为微信的终端数据库,从 2017.6 开源至今,共迭代了 5 个版本。我们一...

⋅ 01/08 ⋅ 0

微信终端开发团队:新年新语言,WCDB Swift

欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:sanhuazhang,此文发布在微信终端开发团队的专栏 WCDB 作为微信的终端数据库,从 2017.6 开源至今,共迭代了 5 个版本。我们一...

云加社区 ⋅ 01/08 ⋅ 0

新年新语言,WCDB Swift

摘要:WCDB ObjC 版本的实现中,由于引入了 C++ 代码,并不能直接 bridge 到 Swift。因此,我们从 9 月份开始就着手使用原生的 Swift,重写 WCDB。并于 10.10 和 11.8 分别在开发者群内发布了...

WeMobileDev ⋅ 01/03 ⋅ 0

利用转场动画实现slide down menu

项目模板 你可以从这里下载最初的项目模板下载项目模板。现在的这个项目中包括storyboard和视图控制器类,一个是main screen,另一个是导航菜单。当你下载并运行程序的时候,你会看见一个有模...

人生天地间 ⋅ 2015/08/08 ⋅ 0

swift简介和语言特点

swift是苹果公司在2014年在WWDC上发布的全新编程语言 我们可以在Swift语法中看到Objective—C、JavaScript、C#、Python等语言的影子,它借鉴了这些语言的影子,同时具备编译型语言的高性能和...

我是华丽的笨笨 ⋅ 2016/03/10 ⋅ 0

iOS开发系列--Swift语言

概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言、ObjC的特性,且克服了C语言的兼容性问题。Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在其...

jianxin160 ⋅ 2015/08/18 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部