Swift入门笔记1
来源:互联网 发布:郑大网络远程教育 编辑:程序博客网 时间:2024/06/07 16:05
var a = 123 // 自动判断a 为int型,也可以 var a:Int = 123 方法调用 book.printTitle( ) //和c++函数调用写法一样 swift的范型,类似于c++的模板 oc一个字典或数组可以存多种类型数据,swift只能存一种(其实是官方建议),这样的好处是保证类型安全 写法 let array = [2,4, 6] let dictionary = [“name”:”xiaoming”,”school”:”yizhong”] 指定类型 写法 let array:Array<Int> = [2,4, 6] let dictionary:Dictionary<String,String> = [“name”:”xiaoming”,”school”:”yizhong”] 简化指定类型写法: let array:Int[ ] = [2,4,6] let 声明数组和字典是不可变的 var声明则是可变的
字符串连接:
let string1 = “hello”
let string2 = “world”
var string3 = “”
string3 = string1+string2
直接用 + 号就可以串连字符串, 直接用 == 就可以比较字符串是否相等(因为oc中字符串是指针类型,用 ==相当于在比较指针,而swift字符串是 值类型)
countElements(str) //计算字符串长度, 不像oc用点语法的length
switch语句中 case后面不用加break,因为执行完一条case就自动结束switch
oc swift对应关系 id —AnyObject nil — NONE
OC 数组强转为swift : let array :AnyObject []= //oc返回的数组 ,因为swift数组只能存一种类型,oc可以存多种,所以要强转一下。
类型判断 if str is String { println(“this is string”) } //swift
if ([str class] isEqualtoString) …… //OC
小数默认是double型的
var aere = Double(r) * Double (r) * pi
Bool : true false
区间:
var range = 1..<5 //半闭
var range = Range(start : 1,end : 5)
Range类型实现了Sequence协议,通过重写Sequence 协议的generate方法,实现自己的区间
var range = 1…5 //全闭区间
区间最大的好处在于 for循环 和switch语句
元组(tuple) 很像oc的字典,一个元组可以存多种类型,元组的访问,既可以像访问素组那样,通过下标,也可以像字典那样通过键值方式
let iata_pek = (“PEK”,”厦门机场”) let iata_pek = (code:”PEK”,airport:”厦门机场") println(“ 编码:\(iata_pek.0) ,机场:\(iata_pek.1) ”) println(“ 编码:\(iata_pek.code) ,机场:\(iata_pek.airport) ”) 可以把元组分解成变量,这样使得访问里面的变量更加简单 let (code,airport) = iata_pek println(“ 编码:\(code) ,机场:\(airport) ”)
oc 里的 for in 循环,能对数组 ,字典快速迭代, swift 增加了 Range 和字符串 迭代,例如 for i in 1…5{ }
switch中的case 还可以匹配 元组,区间
- Swift入门笔记1
- swift学习入门笔记1
- Swift学习笔记--Swift入门
- Swift学习笔记1——入门
- ios swift 入门笔记
- Swift快速入门笔记
- Swift入门-Day 1
- swift入门(1)
- Swift -入门到跑路(1)
- Swift学习笔记-1
- swift笔记(1)
- swift笔记1
- swift笔记(1)
- Swift自学笔记(1)
- swift学习笔记-1
- swift学习笔记1
- swift学习笔记1
- swift笔记1
- Source Insight 的使用
- Hello World入门
- ♥ZOJ 3870-Team Formation【异或,数学】
- contentScrollView是系统方法名,不能使用
- 三位数相加,1 ~ 9 只能用一次
- Swift入门笔记1
- 对Hash表的一些见解
- 如何在ubuntu下使用Github?
- poj1141Brackets Sequence 区间dp+输出路径
- AngularJS学习记录-过滤器(自定义过滤器)
- CentOS下安装Flashplayer
- ios中不能以new开头
- git常用命令
- 关于阿里妈妈的百度全科