swift
CINNS
向前跑!!!!
展开
-
1.常量与变量
var str = "Hello, playground"print(str)定义一个常量和变量let maxLoginAttempts = 10 //let 关键字表示maxLoginAttempts 为常量,其值不能改变,改变常量的值,会报错 var currentLoginAttempt = 0 //var 关键字表示currentLoginAttempt 为变量,可以修改这个值常量原创 2016-01-22 23:50:04 · 365 阅读 · 0 评论 -
13.基础操作符
操作符一共分为三种,unary,Binary,TernaryUnary:每次只操作一个目标,而且紧跟变量或者常量前面或者后面,没有空格(如:-a,i++),是一个一元操作符Binary:位于操作的2个对象中间,而且最好有空格分开(如:2+3),这样看得比较清楚,是二元操作符Ternary:用来表示逻辑判断(如:a ? b : c),三元操作符//赋值let b = 10var a = 5原创 2016-01-26 23:12:53 · 718 阅读 · 0 评论 -
14.浮点数取余和自增自减
在swift语言中,可以对浮点数进行取余操作,比如1024 % 3.5Int (1024 / 3.5) 292 * 3.5 + 2自增和自减,这种运算在循环中经常用到, var i = 0 ++i //等同于 i = i + 1 --i //等同于i = i - 1++ i 和 i++ 的区别 —>++i是把变量先+1再返回,i++是先使用i这个值,然后把i+1返回var 赞 = 0let原创 2016-01-27 23:05:33 · 1965 阅读 · 0 评论 -
15.取正负和组合赋值
我们常常需要一个负的数,这时候需要用到”一元取负操作符”,比如:let san = 3let 负三 = -san//值为-3let 正三 = -负三 //值为3加法运算符let 取正 = +负三//值为-3+号的作用只是和-号在形式上的配对组合赋值var a = 1a += 3 //表达意思等于a = a + 3原创 2016-01-27 23:09:02 · 730 阅读 · 0 评论 -
16.比较运算和三元条件
比较运算符一般用来比较两个变量大小相等的情况,分为 == , != ,> , < ,>= , <= , 其中 ===(特征等于运算符) 和!== (特征不等于运算符)let 欢迎信息 = "欢迎来我的blog"if 欢迎信息 == "欢迎来我的blog" { print("我很欢迎你!")} else { print("慢走不送啊...")}三元条件运算符,是swift中唯一的一原创 2016-01-27 23:12:13 · 296 阅读 · 0 评论 -
17.闭区间和半开区间
闭区间,有一个起始和终止的范围,包含起始值和终止值,主要用途用在for-in循环for index in (1...5) {//闭区间 print("\(index) times 5 is \(index)")}//相当于定义一个变量i i>=1 && i <= 5.开区间,一般用在数组循环中,避免数组越界错误var 群主名单 = ["群主1","群主2","群主3","群主4"]va原创 2016-01-27 23:15:48 · 1517 阅读 · 0 评论 -
18.逻辑运算符
逻辑非”!”,逻辑或”||”,逻辑与”&&” 逻辑非作用是讲true变为false,讲false变为true1.逻辑非let 请进 = falseif !请进 { print("请进")} else { print("不要进来")}2.逻辑与let 密码正确 = truelet 指纹正确 = falseif 密码正确 && 指纹正确 { print("进门成功"原创 2016-01-27 23:17:25 · 273 阅读 · 0 评论 -
19.选并操作符(空合运算符)
空值合并操作符,是对三元运算符在可选类型情况下的一种简化操作let 底线品牌 = "华为"var 理想品牌 : String?var 实际入手 = (理想品牌 ?? 底线品牌)//结果显示为华为,因为当前"理想品牌为nil"理想品牌 = "iPhone"实际入手 = (理想品牌 ?? 底线品牌)//结果显示为"iPhone",原创 2016-01-27 23:20:49 · 486 阅读 · 0 评论 -
字符串定义和基本操作
字符串是一串有序字符的集合,在swift中,字符串用string类型来表示,也是字符类型的集合,兼容字符类型(character)和字符串类型(string),字符串链接可以用+号,字符串的更新和普通常量和变量那样操作,非常方便,每一个swift的string都是用Unicode的字符来存储,这样如果要在一个页面显示多国文字,很方便.字符串字面量,let时候,为不可变字符串,var为可变字符串let原创 2016-01-28 23:13:11 · 1084 阅读 · 0 评论 -
Swift中定义protocol,定义optional方法
在swift中定义一个protocol相比objective-c来说,要更加简单,我们只需要通过一下方法就可以定义一个protocol:定义不包含optional方法的protocolprotocol XXXXXXDelegate : NSObjectProtocol { func XXXXXXX()//代理方法}在swift中,说有的Protocol都是继承自NSObjectProtoco原创 2016-02-23 20:18:55 · 2794 阅读 · 0 评论 -
12.断言Assert
尽管可以用optional来检查值存不存在,有时候在代码中,是需要一个值,或者能满足的值,程序才能运行,这时候需要assert来对程序进行调试,如:let 年龄 = 100assert(年龄 >= 18, "A person's age cannot be less than 18")assert(年龄 >= 0, "年龄必须是大于0的值")这里有一个情况,加入我的年龄为小于18的一个数,那么程序就原创 2016-01-26 23:09:24 · 420 阅读 · 0 评论 -
11.可选类型(间接拆包)
optional表示一个常量或者变量没有值的这种情况,我们用if语句来判断,用binding语句来访问它的值,有时候,一个程序中,一个optional一定是有值的,这时候我们就不需要用if语句来check它,我们几乎可以假定这个是一定有值的,这种类型叫做间接拆包,如:let 彩票 : String! = "5"//这样就不需要对他进行if判断和拆包工作,可以直接打印他的值print("此次彩票中奖原创 2016-01-26 23:05:48 · 364 阅读 · 0 评论 -
2.整数类型
在swift中,整数分为2中类型,一种为带正负号的整数,一种为不带正负号的整数let minValue = UInt8.min //没有负数的类型,不带符号 最大值为2的8次方,最小值为0 let maxValue = UInt8.max //值为255let minValuee = Int.min //带正负号,这个数最小,为负2的64次方,取决于平台操作系统的位数 let maxValuee原创 2016-01-22 23:53:29 · 441 阅读 · 0 评论 -
3.浮点型
浮点型分为2种,一种是double(64位,精确到小数点后16位),一种是float(32位,精确到小数点后6位),区别在于精度不同let PI:Float = 3.1234124143424//实际精度到小数点后6位 let PI2:Double = 3.12345678901234567890//实际精度为小数点后16位原创 2016-01-22 23:55:42 · 421 阅读 · 0 评论 -
4.类型安全和类型推断
swift是一种类型安全的语言(强类型语言),所以在定义一个变量的时候,必须清楚的表达它的类型,例如定义了一个string类型的字符串,就不能传递一个整型的值,会导致错误,这样做的目的是防止在编译的时候,出现不匹配的错误,可以在开发过程中尽早的发现一些低级错误类型推断,它是根据在定义变量的时候给的一个初始值来进行判断的该变量属于什么类型let meaningOfLine = 42//swift原创 2016-01-23 23:44:59 · 277 阅读 · 0 评论 -
5.数值型字面量
在swift中,提供了数值的表示方法,列如//不同进制的表示方法let 十进制的10 = 10let 八进制的8 = 0o10let 二进制的2 = 0b10let 十六进制的16 = 0x10//如果想表示一个很大的数字或者一个很小的数字,表示方法let 一百万 = 1e6//1*10的6次方let 一百万分之一 = 1e-6let 十六进制十五的2的2次方 = 0xFp2let 十亿元原创 2016-01-23 23:47:45 · 350 阅读 · 0 评论 -
6.数值型类型转换
在swift中,我们定义整型的变量或者常量,在正常情况下只能用int,在特殊的情况下,可能要定义一些特殊类型,如UInt,我们在给这样的一个类型赋值的时候不能超过这个类型的范围//let a: UInt8 = -1 //这样赋值就会报错//let a: UInt8 = 256//这样赋值也不行,超过了这个类型发范围0-255//不同整型的变量,在相互计算的时候,不能直接计算,必须要进行类型的原创 2016-01-23 23:50:10 · 320 阅读 · 0 评论 -
7.类型别名
swift中我们可以将系统的变量名加上一个新的名字,可以通过下面这种方式如:typealias 整型 = Int//这样的话就可以在代码中直接用"整型"这样的一个类型进行使用var z:整型 = 0z = 整型.max//这里的整型和Int是等价的原创 2016-01-23 23:51:38 · 265 阅读 · 0 评论 -
8.布尔类型
在swift中一种基本类型叫做Boolean,简称Bool,这种逻辑只有2种结果,一种为真,一个为假let 橘子是橙色的 = truelet 萝卜好吃 = falseif 橘子是橙色的 { print("橘子是橙色的")} else { print("橘子不是橙色的")}//在swift只有逻辑为真或者假才可以行得通let i = 2if(i == 2) { pr原创 2016-01-23 23:53:15 · 289 阅读 · 0 评论 -
9.元组类型
一般,在swift语言中,如果我临时想把几种类型凑在一起,我们可能需要这个tuples(元组类型),通过”()”,之间用”,”隔开如let http404Error = (404,"Not Found")//又如let 昨天我网购的一件衬衫 = (70,"白色",true)//价格,颜色,是否合身//如果我要去访问元组里面的元素,通过重新定义一个元组变量,将上一个元组的值赋给新的元组,然后将值取出原创 2016-01-25 23:06:47 · 366 阅读 · 0 评论 -
10.可选类型optional(解包和绑定)
当一个值可能是不存在的时候,就需要用到可选类型(optionals),optionals一种情况是值不存在,另外一种情况是他有一个值,这个值等于某一个X,例如:let possibleNumber = "123"let convertedNumber = Int(possibleNumber)//通过这个方法就直接转为整型print(convertedNumber)let 昨天我买的彩票 = "原创 2016-01-25 23:09:50 · 1255 阅读 · 0 评论 -
swift中创建一个单例
在swift中创建单例,相比在Objective-C更加的便宜,首先创建一个继承自NSbject的MyINstance类,实现的代码如下://在swift中,类方法中是不允许定义静态变量的,所以定义一个静态变量,应该写在方法外面static var once_t: dispatch_once_t = 0static var instance: MyInstance?//用来获取单例对象的方法,原创 2016-02-28 18:01:18 · 486 阅读 · 0 评论