Swift4.0学习之路第一讲

由于公司需要,我将从今天开始上车,学习Swift4.0编程语言开发。
第一讲主要文字与代码上传至GitHub

第一讲主要包括内容如下:

第一节Swift基础类型体系
Swift编程语言只包含4种类型即1:枚举(enum)2:结构体(struct)3:类(class)4:函数类型(functiontypes)
其中枚举和结构体属于值类型(ValueTypes),类和函数属于引用类型(referencetypes)
除此之外,还有一个队数据组织的容器--元组(tiple)
Swift是一门安全性语言。Swift编程语言可以给任何一个可选的(Optional)类型置空然而,java、OC、C++等,只能给指针或者引用类型的对象置空,而不能队值得对象置空

第二节变量对象

变量对象定义:在Swift中,我们通过关键字var声明一个对象称为变量对象,简称变量(variable)。

变量的使用:1.如果一个变量的对象是一个结构体或者是枚举(即类型变量),那么该对象的自身值允许改变,切其成员变量也能被修改。
2.如果一个变量的对象是一个类类型,那么该对象引用可以修改,且该对象的实例中的所有成员变量也能被修改。

var a = 10 //声明一个变量a初始值为10
a =100//a被修改
//声明一个简单的结构体
structS{
vars =0//声明一个成员变量s
}
varb =S()//b声明一个S结构体的变量
b.s=10//将b的成员变量s修改成10
b =S()//这里b又被赋给了一个新的S结构体变量

第三节常量对象

常量对象定义:在Swift中,我们通过关键字let声明的对象为常量对象,简称常量(constant)

常量对象的使用:
1.如果一个常量对象对的类型为一个枚举或结构体(即类型变量)类型,那么,该对象的值及其成员变量的值都不允许被修改。
2.如果一个常量对象的类型是一个类类型,那么该对象引用不能被改变,但是他所引用的对象实例中的成员变量允许被修改。

letleta =100//声明一个整数对象为一个常量
//下面这行代码会出错
// leta = 10
//声明一个简单的结构体
structLetS{
vars =10
}
letletB =LetS()
//下面这行代码会出错
//letB = LetS();
//下面这行代码会出错
//letB.s = 100
//定义一个简单的类
classc{
varc =0
}
letletC =c();
letC.c=10//这句代码是没有问题的这里对c所引用的对象的成员进行修改时允许的
//下面这行代码会出错
//letC = c();//如果一个常量对象的类型是一个类类型,那么该对象引用不能被改变。

另外,Swift中除了一般整数、浮点数、字符串、数组字典等结构体类型的字面量属于常量之外,结构体与枚举类型直接构造出的对象也属于常量,我们不能直接对由这些类型构造的对象实例做实例属性的修改

structMyObject{
vara =0, b =1
}
varobj =MyObject()
obj.a+= obj.b//这个语句没有问题,因为obj是一个变量
//下面这行代码会出错
//MyObject().a += 10//直接用结构体类型构造出的对象是不可修改的
//而对于类类型直接创建的对象实例则可对其实例属性进行修改
//eg:
classTest{
vara =0, b =1
}
Test().a+=Test().b

Swift中允许一个常量先被声明再被初始化,但是只能初始化一次。如果这个常量被初始化之后,再给其赋值,编译器就会报错。

letIntA :Int
letIntB =10, IntC =20
IntA = IntB + IntC//这里为IntA初始化,没有问题
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,771评论 1 10
  • 常量与变量使用let来声明常量,使用var来声明变量。声明的同时赋值的话,编译器会自动推断类型。值永远不会被隐式转...
    莫_名阅读 433评论 0 1
  • Swift属性 Swift属性将值跟特定的类,结构体,枚举关联。分为存储属性和计算属性,通常用于特定类型的实例。属...
    小小厨师阅读 832评论 0 0
  • 一直没有时间好好看一下swift,最近复习了一遍语法,这里记录swift学习过程中遇到的一些问题和要点,和Obje...
    bomo阅读 2,332评论 0 25
  • 我幻想过好多次和你见面的场景,不论是怎样的场景,见到你之后我是一定要牵着你的手的,但是我见到你之后却只是接过你递给...
    十七朵梅花阅读 816评论 0 2