Swift关键字详细介绍 每一种语言都有相应的关键词,每个关键词都有他独特的作用,来看看swfit中的关键词: 关键词: 用来声明的: “ class, deinit, enum, extension, func, import, init, let, protocol, static, struct, subscript, typealias, var.” 用于子句的: “ break, case, continue, default, do, else, fallthrough, if, i…
Typealias typealias 是用来为已经存在的类型重新定义名字的,通过命名,可以使代码变得更加清晰.使用的语法也很简单,使用typealias 关键字像使用普通的赋值语句一样,可以将某个已经存在的类型赋值为新的名字.比如在计算二维平面上的距离和位置的时候,我们一般使用Double来表示距离,用CGPoint来表示位置: func distance(_ point: CGPoint, _ anotherPoint: CGPoint) -> Double { let dx = Doubl…
使用typealias为常用数据类型起一个别名, 一方面更容易通过别名理解该类型的用途, 另一方面还可以减少日常开发的代码量. typealias使用实例: // 网络请求常用回调闭包 typealias SuccessWithMsg = ((_ msg:String) -> Void) typealias FailWithError = ((Error) -> Void) // 用&连接多个协议 typealias UITableViewCommonProtocol = UITabl…
常见的关键字有以下4种 与声明有关的关键字:class.deinit.enum.extension.func.import.init.let.protocol.static.struct.subscript.typealias和var. 与语句有关的关键字:break.case.continue.default.do.else.fallthrough.if.in.for.return.switch.where和while. 表达式和类型关键字:as.dynamicType.is.new.supe…
两种参数传递方式 值类型 传递的是参数的一个副本,这样在调用参数的过程中不会影响原始数据. 引用类型 把参数本身引用(内存地址)传递过去,在调用的过程会影响原始数据. 在 Swift 众多数据类型中,只有 class 是引用类型,其余的如 Int.Float.Bool.Character.Array.Set.enum.struct全都是值类型. 让值类型以引用方式传递 有时候我们需要通过一个函数改变函数外面变量的值(将一个值类型参数以引用方式传递),这时,Swift 提供的 inout关键字就可…
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:https://github.com/strengthen/LeetCode➤原文地址:https://www.cnblogs.com/strengthen/p/10165686.html ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章…
// 下面是苹果给出的解释,就是在给属性设置新值的时候,可以在设置前和设置后做一些处理,这两个关键字就好像对该属性变化的监控 If you don’t need to compute the property but still need to provide code that is run before and after setting a new value, use willSet and didSet. For example, the class below ensures tha…
(一)类型转换 类型转化在 Swift 中是比较严格的,不同类型之间可以认为是不能相互转化的,只能重新产生一个对象和值,并拷贝一份. 1.0 整型数值之间的转换. // 不同类型是不能直接相加的,这时我们就需要用到类型转换 let int8 : Int8 = let int16 : Int16 = + Int16(int8) print(int16) //输出 : 26 又上可见,通过转化也可以顺利得到正确的值,但是值得我们注意的是:由短整型向长整型转换是都可以成功的,且不会丢失值:而如果长整型…
要学习Swift这门语言,就必须先了解Swift的关键字及对应的解释.这里就列一下在Swift中常用到的关键字. 关键字是类似于标识符的保留字符序列,除非用重音符号(`)将其括起来,否则不能用作标识符.关键字是对编译器具有特殊意义的预定义保留标识符.常见的关键字有以下4种. 与声明有关的关键字:class.deinit.enum.extension.func.import.init.let.protocol.static.struct.subscript.typealias和var. 与语句有关…
导读:本文来自SwiftGG翻译组,作者@walkingway基于苹果Swift官方博客中Ted Kremenek所撰写的"Swift 2.2 Released!"文章进行了关于Swift 2.2新特性的介绍翻译以及小试牛刀,Swift 2.2虽然是个小版本,但也有许多值得开发者注意的内容. Swift 2.2 随着 iOS 9.3 一同闪亮登场,相较于 Swift 2.1, 2.2 版本做出了许多调整,从其调整方向上我们也能一窥 Swift 3.0 的影子,以下内容主要来自于苹果 S…
前言 近期又开始折腾起Haskell,掉进这个深坑恐怕很难再爬上来了.在不断深入了解Haskell的各种概念以及使用它们去解决实际问题的时候,我会试想着将这些概念移植到Swift中.函数式编程范式的很多概念在Swift等主打面向对象范式的语言中就像各种设计模式一样,优雅地帮助我们构建好整个项目,促使我们的代码更加的美观优雅.安全可靠. 本篇文章为"函数式编程"系列中的第二篇,我主要说下Monad的一些小概念,以及试图将Monad融入Swift中来让其为我们的实际工程项目作出贡献. 关于…
SnapKit RxSwift R.swift https://www.jianshu.com/p/68e12b966d86 iOS - RxSwift 项目实战记录 https://blog.csdn.net/mazy_ma/article/details/73129745 swift3.0遇到的那些坑之NSClassFromString https://blog.csdn.net/hyc_springbrother/article/details/53008828#使用nsclassfrom…
swift与OC之间不得不知道的21点   自6月的WWDC大会上由苹果的大神Chris Lattner向我们首次展示swift至今已经大半年时间了,虽然绝大部分软件公司代码里还都见不到一丁点swift的影子,但各路大牛早已纷纷已经对swift进行过各种挖掘了. 我总结下我的看法.主要是给还没仔细研究swift的好奇的OC攻城狮看 swfit和OC间的联系 1.swift句尾不需要分号,除非你想在一行中写三行代码就加分号隔开. 2.swift不要写main函数,程序默认从上往下执行 3.swif…
今天的博客算是比较基础的,还是那句话,基础这东西在什么时候都是最重要的.说到函数,只要是写过程序就肯定知道函数是怎么回事,今天就来讨论一下Swift中的函数的特性以及Swift中的闭包.今天的一些小实例中回类比一下Objective-C中的函数的写法等等.Swift中的函数还是有许多好用的特性的,比如输入参数,使用元组返回多个值, 定义形参名,设定默认参数以及可变参数等等一些好用的特性.而在Swift中的闭包就是Objective-C中的Block, 除了语法不通外,两者的用法是一样的.废话少说…
一条声明可以在你的程序里引入新的名字和构造.举例来说,你可以使用声明来引入函数和方法,变量和常量,或者来定义 新的命名好的枚举,结构,类和协议类型.你也可以使用一条声明来延长一个已经存在的命名好的类型的行为.或者在你的 程序里引入在其他地方声明的符号. 在swift中,大多数声明在某种意义上讲也是执行或同事声明它们的初始化定义.这意味着,因为协议和他们的成员不匹配, 大多数协议成员需要单独的声明.为了方便起见,也因为这些区别在swift里不是很重要,声明语句同时包含了声明和定义. GRAMMAR…
今天的博客算是比较基础的,还是那句话,基础这东西在什么时候 都是最重要的.说到函数,只要是写过程序就肯定知道函数是怎么回事,今天就来讨论一下Swift中的函数的特性以及Swift中的闭包.今天的一些小实例 中回类比一下Objective-C中的函数的写法等等.Swift中的函数还是有许多好用的特性的,比如输入参数,使用元组返回多个值, 定义形参名,设定默认参数以及可变参数等等一些好用的特性.而在Swift中的闭包就是Objective-C中的Block, 除了语法不通外,两者的用法是一样的.废话…
原文:Swift语言指南(七)--语言基础之布尔值和类型别名 布尔值 Swift有一个基本布尔类型,叫做布尔(bool),布尔值又称逻辑值(logical),因为它只能为真(true)或假(false).Swift提供了两个布尔常量值:true,false: let orangesAreOrange(橙子是橙子) = true let turnipsAreDelicious(芜菁很美味) = false orangesAreOrange和turnipsAreDelicious被推断为布尔类型,因…
语法表达式 一般形式:{ (parameters) -> returnType in statements } 这里的参数(parameters),可以是in-out(输入输出参数),但不能设定默认值.如果是可变参数,必须放在最后一位,不然编译器报错.元组也可以作为参数或者返回值. "in"关键字表示闭包的参数和返回值类型定义已经完成,闭包函数体即将开始.即由in引入函数 例子 //一般形式 let calAdd:(Int,Int)->(Int) = { (a:Int,b:…
swift与OC之间不得不知道的21点   自6月的WWDC大会上由苹果的大神Chris Lattner向我们首次展示swift至今已经大半年时间了,虽然绝大部分软件公司代码里还都见不到一丁点swift的影子,但各路大牛早已纷纷已经对swift进行过各种挖掘了. 我总结下我的看法.主要是给还没仔细研究swift的好奇的OC攻城狮看 swfit和OC间的联系 1.swift句尾不需要分号,除非你想在一行中写三行代码就加分号隔开. 2.swift不要写main函数,程序默认从上往下执行 3.swif…
http://www.cocoachina.com/swift/20160106/14862.html 今天的博客算是比较基础的,还是那句话,基础这东西在什么时候都是最重要的.说到函数,只要是写过程序就肯定知道函数是怎么回事,今天就来讨论一下Swift中的函数的特性以及Swift中的闭包.今天的一些小实例中回类比一下Objective-C中的函数的写法等等.Swift中的函数还是有许多好用的特性的,比如输入参数,使用元组返回多个值, 定义形参名,设定默认参数以及可变参数等等一些好用的特性.而在S…
1.Constants and Variables(常量和变量) let定义常量,var定义变量. [Note] If a stored value in your code won't change, always declare it as a constant with the let keyword. Use variables only for storing values that need to be able to change. 如果代码中的存储值不会更改,则始终使用let关键…
1.Swift 3.0 使用Cocopods 导入第三方报错 之前一直用Object-C 编写代码  用Cocopods导入第三方没出过什么问题(PS:2017最新cocoaPods安装教程) 今天用Swift写项目 导入第三方的时候出现这个错误: [!] Pods written in Swift can only be integrated as frameworks; add `use_frameworks!` to your Podfile or target to opt into u…
Moya是一个高度抽象的网络库,他的理念是让你不用关心网络请求的底层的实现细节,只用定义你关心的业务.且Moya采用桥接和组合来进行封装(默认桥接了Alamofire),使得Moya非常好扩展,让你不用修改Moya源码就可以轻易定制.官方给出几个Moya主要优点: 编译时检查API endpoint权限 让你使用枚举定义各种不同Target, endpoints 把stubs当做一等公民对待,因此测试超级简单. Target 开始Moya之旅的第一步便是,建立一个Enum的Target,这个Ta…
一.Swift泛型介绍 泛型是为Swift编程灵活性的一种语法,在函数.枚举.结构体.类中都得到充分的应用,它的引入可以起到占位符的作用,当类型暂时不确定的,只有等到调用函数时才能确定具体类型的时候可以引入泛型.我们之前实际上已经使用过泛型,例如:Swift的Array和Dictionary类型都是泛型集. 你可以创建一个Int数组,也可创建一个String数组,或者甚至于可以是任何其他Swift的类型数据数组.同样的,你也可以创建存储任何指定类型的字典(Dictionary),而且这些类型可以…
创建: 2018/02/27 完成: 2018/02/28 更新: 2018/03/07 增加类采用协议时的注意 补充只有类, 结构体, 枚举型可以采用协议 增加为类定义准备的协议( protocol Sample: class, ... { ... } ) [任务表]TODO 协议(protocol)  协议 区分于具体的实现, 集中进行类型应该有的方法和属性的声明的功能 ● 应用某协议叫做采用协议 ● 只有类, 结构体, 枚举型可以采用协议  作为程序构成单位的协议 ● 其他语言里叫协议(p…
语法表达式 一般形式:{             (parameters) -> returnType in              statements            } 这里的参数(parameters),可以是in-out(输入输出参数),但不能设定默认值.如果是可变参数,必须放在最后一位,不然编译器报错.元组也可以作为参数或者返回值. "in"关键字表示闭包的参数和返回值类型定义已经完成,闭包函数体即将开始.即由in引入函数 例子 //一般形式 let calA…
swfit的特点: 1.swift句尾不需要分号,除非你想在一行中写三行代码就加分号隔开. 2.swift不要写main函数,程序默认从上往下执行 3.swift不分.h和.m文件,一个类只有.swift一个文件 4.swift不在有地址的概念 5.swift数据类型都会自动判断, 只区分变量var 和常量let 6.强制转换格式反过来了OC强转:(int)a      Swift强转:int(a) 7.整数的数据类型可以通过.min和.max获得最大和最小值 8.定义类型的别名语法改变OC:t…
本文对Swift做一个从OC的角度的基础知识简单概要. Swift OC 说明 let.var const 在OC中不用const声明的常量,都认为是变量 Float.Double CGFloat   Int NSInteger   String NSString   Bool BOOL OC中的非1为flase,1为ture在Swift中不适用 Array NSArray   Dictionary NSDictionary   Set NSSet   Tuple -   Optional -…
Oh My Zsh 除了为我们提供快捷的命令行操作之外,还提供了强大丰富的插件机制,每个社区贡献者都可以贡献自己的插件,让整个生态体系更加丰富完善.今天给大家介绍了一下它的实用工具类插件. 前面我们分别介绍过了 Oh My Zsh 的基本用法和它的 git 插件,有兴趣的同学也可以查看前面的文章: Oh My Zsh 插件篇 - git http://swiftcafe.io/2015/11/29/omz-git/ 你好,Oh My Zsh - 社区力量全新方式定义命令行 http://swif…
date: "2020-10-18T12:36:00+08:00" title: "oh my zsh 常用插件" tags: ["zsh","oh my zsh"] categories: ["shell"] wd插件 wd 插件是我比较喜欢的一个,它的作用就是能够快速的切换到常用的目录.我们用命令行时经常会遇到这样一种情况,我们常用的目录就那么几个,而这些目录有时候会再很深的层级中.使用 cd 命令在这…