
Swift 5.0
Swift 5.0语法学习
沐雨07
Keep Learning!
展开
-
swift_000(Swift 的导读必看)
// swift 学习网址// http://www.yiibai.com/swift/swift_optionals.html// http://www.runoob.com/swift/swift-tutorial.html (这个为主)// 在线编辑器 :http://www.runoob.com/try/runcode.php?filename=HelloWor原创 2016-10-31 10:53:29 · 435 阅读 · 0 评论 -
swift_001(Swift的注释)
1、oc中使用的注释// 单行注释/*多行注释*/ #pragma marks Comments containing: MARK: TODO: FIXME: !!!: ???:除了使用 #pragma mark -添加分割线之外,其余的你有用过吗?原创 2016-10-28 16:42:41 · 804 阅读 · 0 评论 -
swift_002(Swift的String的基本使用)
1. 字符串匹配判断*segue.identifier =="Register"*segue.identifier!.isEqual("Register")2.字符串的转义符3.字符串的基本使用/********************************字符串*********************************原创 2016-10-28 16:47:42 · 343 阅读 · 0 评论 -
swift_003(Swift的?和!)
我在学习声明类的属性时。用下面var phoneString :String = "13733181552" // 附上初始值 var phoneString1 :String? // 声明一个Optional类型值的属性 var phoneString2 :String!原创 2016-10-28 16:50:49 · 289 阅读 · 0 评论 -
swift_004(Storyboard进行界面跳转及传值)
Storyboard进行界面跳转及传值方法一 // 方法一跳转(不用连线) // 获取指定的Storyboard,name填写Storyboard的文件名 let mainStoryboard =UIStoryboard(name: "Main", bundle: nil) // Regis原创 2016-10-28 16:52:10 · 3094 阅读 · 0 评论 -
swift_005(Swift的Dictionary 字典)
1.Dictionary (可变不可变不区分了)字典 《Swift开发指南》// Swift 字典的key没有类型限制可以是整型或字符串,但必须是唯一的。var someDict:[Int:String]= [1:"One",2:"Two",3:"Three"]//(1)创建一个字典var dic:DictionaryStrin原创 2016-10-28 16:53:56 · 1249 阅读 · 0 评论 -
swift_006(Swift的元组)
/*元组(tuples)把多个值组合成一个复合值。元组内的值可以使任意类型,并不要求是相同类型。*///(1)声明一个元组var mytuples=(123,"理想"); // mytuples 的类型是 (Int, String),值是 (123, "理想") *注* 关于元组类型的说明:你可以把任意顺序的类型组合成一个元组,这个元组可以包含所有类型。只要你想原创 2016-10-28 16:56:41 · 307 阅读 · 0 评论 -
swift_007(Swift的Array 数组)
1. 在 Swift 中,如果你用let将数组作为常量来定义,他们就是不可变的,如果用var 定义为变量他们就是可变的。作为对比,Foundation 框架中的 NSArray 默认是不可变类型,如果你想在数组创建之后添加、删除或者修改数据,你必须使用可变类NSMuatbleArray。2. NSArray 是异质的,那也就意味着他可以包含不同类型的 Cocoa原创 2016-10-28 16:58:23 · 356 阅读 · 0 评论 -
swift_008(Swift的类型转换)
//***********二:类型转换***************************// 1.字符串转换为Int类型var strInt = "123"var intValue = Int(strInt) // Int() 函数是把字符串转换为Int// 2.字符串转换为float类型var strFlo原创 2016-10-28 16:59:31 · 830 阅读 · 0 评论 -
swift_009(Swift 类型别名/安全/推断)
//***********swift--1.0--类型别名--***************************// 类型别名对当前的类型定义了另一个名字,类型别名通过使用 typealias关键字来定义。语法格式如下:typealias NewIntType = Intvar testAliasNum:NewIntType =100原创 2016-10-28 17:01:11 · 343 阅读 · 0 评论 -
swift_010(Swift 的可选类型)
//***********swift--1.3--可选类型--***************************// (Optionals)即在某个数据类型后面加上问号(?)或感叹号(!)// Int和String类型不能接受nil的,但程序运行过程中有时被复制给nil是在所难免的,Swift为每一种数据类型提供一种可选类型(optional),即在某个数据类型后面原创 2016-10-28 17:02:21 · 334 阅读 · 0 评论 -
swift_011(Swift 的数据类型)
Swift 提供了非常丰富的数据类型,以下列出了常用了几种数据类型:Int一般来说,你不需要专门指定整数的长度。Swift 提供了一个特殊的整数类型Int,长度与当前平台的原生字长相同:在32位平台上,Int和Int32长度相同。在64位平台上,Int和Int64长度相同。除非你需要特定长度的整数,一般来说使用Int就够了。这可以提高代码一致性和可复用性。即原创 2016-10-28 17:02:58 · 383 阅读 · 0 评论 -
swift_012(Swift 的字面量)
//***********swift学习之12--字面量--***************************// 字面量:所谓字面量就是指像特定的数字,字符串或者是布尔值这样能够直接了当地指出自己的类型并未变量进行赋值的值。比如下面三个都称为字面量:let aNumber = 3let astring = "Hello"let aBool = tr原创 2016-10-31 10:31:23 · 331 阅读 · 0 评论 -
swift_013(Swift 的运算符)
//***********swift学习之13--运算符--***************************// 本章节主要学习算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符及其他运算符。// 1.算术运算符(+、-、*、/、%(求余)、/(取整)、++(自加在swift3中废除)、--(自减))// int/int:整数取商// int原创 2016-10-31 10:32:06 · 311 阅读 · 0 评论 -
swift_014(Swift 的控制流)
//***********swift学习之14--控制流--***************************// 1.控制流有哪些?/* Swift提供了所有C语言中相似的控制流结构。包括for和while循环;if和switch条件语句;break和continue跳转语句等。 Swift还加入了for-in循环语句,让编程人员可以在遍历数组,字典,范围,字符串原创 2016-10-31 10:34:02 · 419 阅读 · 0 评论 -
swift_015(Swift 的函数)
//***********swift学习之15--函数--***************************/* Swift 定义函数使用关键字 func,由函数名、参数、返回值组成。参数和返回值甚至可以是元组、带返回值的函数等 */// 1.1 不带参数func nullParame() -> String { return原创 2016-10-31 10:35:45 · 314 阅读 · 0 评论 -
swift_016(Swift 的闭包)
//***********swift学习之16--闭包--***************************/* 闭包(Closures) * 闭包是自包含的功能代码块,可以在代码中使用或者用来作为参数传值。 * 在Swift中的闭包与C、OC中的blocks和其它编程语言(如Python)中的lambdas类似。 * 闭包可以捕获和原创 2016-10-31 10:36:45 · 531 阅读 · 0 评论 -
swift_017(Swift 的枚举)
//***********swift学习之17--枚举--***************************// 枚举简单的说也是一种数据类型,只不过是这种数据类型只包含自定义的特定数据,它是一组有共同特性的数据的集合。// Swift 的枚举类似于 Objective C和 C的结构,枚举的功能为:// 它声明在类中,可以通过实例化类来访问它的值。原创 2016-10-31 10:39:42 · 355 阅读 · 0 评论 -
swift_018(Swift 的结构体)
//***********swift学习之18--结构体--***************************// Swift 结构体是构建代码所用的一种通用且灵活的构造体。// 我们可以为结构体定义属性(常量、变量)和添加方法,从而扩展结构体的功能。// 我把它比喻成:数据模型的实例化对象。// 例如:s原创 2016-10-31 10:40:17 · 319 阅读 · 0 评论 -
swift_019(Swift 的类)
//***********swift学习之19--类--***************************// Swift 类在Objective C中已经比较熟悉。我们可以为类定义属性(常量、变量)和方法。// 类定义// 类的属性可以通过 .来访问。格式为:实例化类名.属性名:class Home { v原创 2016-10-31 10:40:52 · 365 阅读 · 0 评论 -
swift_020(Swift 的属性)
//***********swift学习之20--属性--***************************// 属性比较属性,不需要介绍太多,只知道还可以定义属性观察器来监控属性值的变化,以此来触发一个自定义的操作。属性观察器可以添加到自己写的存储属性上,也可以添加到从父类继承的属性上。// 延迟存储属性// 延迟存储属性是指当第一原创 2016-10-31 10:41:24 · 308 阅读 · 0 评论 -
swift_021(Swift 的方法)
//***********swift学习之21--方法--***************************/* 实例方法 在Swift语言中,实例方法是属于某个特定类、结构体或者枚举类型实例的方法。 a.实例方法要写在它所属的类型的前后大括号({})之间。 b.实例方法能够隐式访问它所属类型的所有的其他实例方法和属性。 c.实例方法原创 2016-10-31 10:42:06 · 584 阅读 · 0 评论 -
swift_022(Swift 的下标脚本)
//***********swift学习之22--下标脚本--***************************// 就是说用下标脚本访问一个数组(Array)实例中的元素可以这样写 someArray[index],访问字典(Dictionary)实例中的元素可以这样写 someDictionary[key]。// 对于同一个目标可以定义多个下标脚本,通过索引原创 2016-10-31 10:42:47 · 385 阅读 · 0 评论 -
swift_023(Swift 的继承)
//***********swift学习之23--继承--***************************/* Swift 继承 继承我们可以理解为一个类获取了另外一个类的方法和属性。 当一个类继承其它类时,继承类叫子类,被继承类叫超类(或父类) 在 Swift中,类可以调用和访问超类的方法,属性和下标脚本,并且可以重写它们。原创 2016-10-31 10:43:38 · 296 阅读 · 0 评论 -
swift_024(Swift 的构造过程)
//***********swift学习之24--构造过程--***************************/* 构造过程:将某个类/结构体/枚举类型实例化而进行的准备过程。 这个过程包含:为实例中的每个属性设置初始值和为其执行必要的准备和初始化任务。 Swift 构造函数使用 init()方法。(构造器) 与 Objectiv原创 2016-10-31 10:44:29 · 380 阅读 · 0 评论 -
swift_025(Swift 的自动引用计数(ARC)
//***********swift学习之25--自动引用计数(ARC)--***************************// 有了手动管理的概念的话,对于开发避免出现一些不易观察的问题,和理解属性引用与实例释放有着重要作用。Swift使用自动引用计数(ARC)通常情况下我们不需要去手动释放内存,因为 ARC会在类的实例不再被使用时,自动释放其占用的内存。原创 2016-10-31 10:45:25 · 393 阅读 · 0 评论 -
swift_026(Swift 的类型转换)
//***********swift学习之26--类型转换--***************************/* 检查类型 类型检查使用 is关键字。 操作符 is来检查一个实例是否属于特定子类型。若实例属于那个子类型,类型检查操作符返回 true,否则返回 false。 *//* 向下转型原创 2016-10-31 10:46:00 · 311 阅读 · 0 评论 -
swift_027(Swift 的扩展)
//***********swift学习之27--扩展--***************************/* 扩展跟OC一样就是向一个已有的类、结构体或枚举类型添加新功能。 只能添加新的功能,不能重写已有的功能。 */// 扩展声明使用关键字 extension:// 一个扩展可以扩展一个已有类型,使其能够适配一个或多个协议,语法原创 2016-10-31 10:46:34 · 381 阅读 · 0 评论 -
swift_028(Swift 的协议)
//***********swift学习之28--协议--***************************/* 协议规定了用来实现某一特定功能所必需的方法和属性。 任意能够满足协议要求的类型被称为遵循(conform)这个协议。 类,结构体或枚举类型都可以遵循协议,并提供具体实现来完成协议定义的方法。 */// protocol 关键字实现原创 2016-10-31 10:47:23 · 443 阅读 · 0 评论 -
swift_029(Swift 的泛型)
//***********swift学习之29--泛型--***************************/* Swift 提供了泛型让你写出灵活且可重用的函数和类型。 Swift 标准库是通过泛型代码构建出来的。 Swift 的数组和字典类型都是泛型集。 */// 定义一个交换两个变量的函数/* 声明函原创 2016-10-31 10:47:55 · 517 阅读 · 0 评论 -
swift_030(Swift 的访问控制)
//***********swift学习之30--访问控制--***************************// 1.访问控制可以限定其他源文件或模块中代码对你代码的访问级别。// 2.访问控制基于模块与源文件。// a:模块指的是以独立单元构建和发布的Framework或Application。在Swift中的一个模块可以使用imp原创 2016-10-31 10:48:31 · 537 阅读 · 0 评论 -
swift_031(Swift 中的枚举/原始值(RawValues))
谈到枚举,相信我们大家都并不陌生,大多数编程语言中,都有枚举的实现。关于枚举的定义,我们可以看看这里。swift 对枚举的进行了更加灵活的实现,比如支持关联值的枚举,还有可以设置原始值的枚举。这都扩展了枚举类型的用途。下面我们就来品味下枚举以及它在 swift 中的实现吧。枚举定义语法首先,我们来看看在 swift 中定义枚举的语法:enum WeekDay { case转载 2017-07-27 16:04:50 · 4761 阅读 · 0 评论 -
swift_032(Swift enum枚举高级使用范例)
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"enum Movement { case Left case Right case Top case Bottom}let aMovement = Movement转载 2017-07-27 16:13:09 · 511 阅读 · 0 评论 -
swift_033(Swift 必备和常用第三方库以及pod使用)
1.swift工程 使用pod 有了OC中使用pod管理第三方库的经验,在swift中使用pod来管理第三方库就很容易了。第一步:cd的工程文件夹下第二步:pod init 为项目创建一个PodFile文件第三步:在工程中双击PodFile文件,编辑 pod 'Alamofire' 后,保存关闭。第四步:pod install成功后即可。原创 2017-07-28 11:23:20 · 1664 阅读 · 0 评论 -
swift_034(Swift 动态库/静态库区别)
Library vs Framework in iOS CocoaPods 终于支持了Swift,同时也发现Github团队的又一力作Carthage。它们都将包统一编译为Framework,但不同的是,Carthage 仅支持 iOS 8 & Xcode 6 Dynamic Framework 这一新特性。Update 201504 CocoaPods 0.36 后也转载 2017-07-28 11:27:20 · 1881 阅读 · 0 评论 -
swift_035(Swift之第三方库Kingfisher篇)
[快速学会Swift第三方库] Kingfisher篇Kingfisher是一个轻量的下载和缓存网络图片库。下载和缓存是异步进行操作,已经下载好的图片会缓存在内存和本地,极大得提高app的体验。目录快速学会Swift第三方库 Kingfisher篇目录编码之前导入 Kingfisher其他操作基础操作使用optionsInfo参数回调函数取消任务下载转载 2017-07-28 11:33:43 · 1003 阅读 · 0 评论 -
swift_036(Swift之第三方库SwiftyJSON篇)
[快速学会Swift第三方库] SwiftyJSON篇SwiftyJSON使得用Swift处理JSON数据更加容易。这是解析JSON字符串封装类。实现功能与JavaScript中的JSON.parse相近,使用方便。目录快速学会Swift第三方库 SwiftyJSON篇目录编码之前导入SwiftyJSON其他操作解析本地JSON示例JSON示转载 2017-07-28 11:37:39 · 478 阅读 · 0 评论 -
swift_037(Swift之Swift和OC混编)
接触Swift有一段时间了,但是一直没有试过混合编程。难得的五一小长假,就有空简单的写写Swift和OC的混合编程的Demo。1.新建一个空的Swift项目 注意语言选择Swift。2.新建一个OC的控制器 注意语言选择OC。3.这一步很重要 一定要点击红框中的按钮。4.设置桥接文件路径 TARGETS–>Build Settings–>Object转载 2017-07-28 14:45:34 · 370 阅读 · 0 评论 -
swift_038(Swift之guard关键字(守护))
Swift - guard关键字(守护)guard语句和if语句有点类似,都是根据其关键字之后的表达式的布尔值决定下一步执行什么。但与if语句不同的是,guard语句只会有一个代码块,不像if语句可以if else多个代码块。那么guard语句的作用到底是什么呢?顾名思义,就是守护。guard语句判断其后的表达式布尔值为false时,才会执行之后代码块里的代码,如果为true,转载 2017-07-28 16:18:23 · 325 阅读 · 0 评论 -
swift_039(Swift中的KVC的使用方法)
KVC简单介绍KVC是OC特有的,KVC本质上是在运行时,动态向对象发送setValue:ForKey:方法,为对象的属性设置数值因此,在使用KVC的方法之前,需要确保对象已经被正确实例化在Swift中,如果属性是可选的,在初始化时,不会为该属性分配空间。在OC中,基本数据类型就是保存一个值,不存在可选的概念所以我们需要给可选的基本数据类型设置一个初始值,否则使用KVC就会转载 2017-07-28 16:53:48 · 1040 阅读 · 0 评论