Swift学习二

参考博客:http://blog.csdn.net/jaywon

//swift不会自动为变量赋初始值,必须手动添加初始值

//数组 Array
let array:Array = []; 声明一个空数组
var array1 = String[]() 声明一个字符串数组
往数组末尾添加新元素
array.append("新元素")
array += "新元素"
array += ["新元素1","新元素2",...]
往数组里的指定位置添加新元素
array.insert("新元素,atIndex:index)

array[4...7] = ["新元素1","新元素2"] //替换元素,可以比原来的少

,这样将会导致数组的元素个数减少
数组删除最后一个元素
array.removeLast()
数组指定位置删除元素
array.removeAtIndex(index)
删除所有的元素
array.removeAll()
遍历数组
for item in array {
println(item)
}
for (index,value) in enumerate(array) {
println("Item\(index+1),Value\(value)")
}

//字典 Dictionary
var dictionary = Dictionary<String:float>() 创建一个字典,key是

字符串类型,value是浮点类型
字典的添加/修改
dictionary[key] = value 遍历字典,如果找到相应的key就是修改,

找不到就算添加
字典删除键值对
dictionary[key] = nil
dictionary.removeValueForkey(key)
字典的遍历
for (key,value) in dictionary{
println("\(key):\(value)")
}
遍历字典所有的key
for key in dictionary.keys{
println(key)
}
遍历字典所有的value
for value in dictionary.values{
println(value)
}

//可选类型 Optional 这个值要么存在,并且等于X,要么根本不存在
let numberStr = "123"
let convertNumber:Int? = numberStr.toInt() 存在即转成123,不存

在则转成nil
Swift中nil不是指针,它代表特定类型的值不存在,任何类型的可选类型

都能赋值为nil,而不仅限于对象类型,并且更加安全
规则:
1、Swift里面的nil不能用于非可选类型 eg: var str = nil 是错误的
2、如果代码中的常量或者变量需要适配不存在的情况,务必将它声明称恰

当的可选类型
3、如果定义的可选类型的对象不提供默认值,该对象将自动设为nil

eg:var str:String? 没有赋值,默认值就是nil。
var str:String?
let hashValue = str?.hashValue //必须加问号,表示可选类型是否相

应后面的方法或者属性

//解包(!) 如果确定一个可选类型的对象的值一定存在,那么就使用!

进行解包获取它的值,或者Optional Binding
使用“!”
let str:String? = "12345"
println(str)
let descStr = str!.hashValue
使用 Optional Binding,通过判断一个常量是否存在
if let sValue = str {
let descStr = sValue.hashValue
}

//隐式解包
在可选的类型名称后面,在定义的时候将?改成!
let str:String! = "123456"
println(str)
let descStr = str.hashValue

//字符串 String
字符串相等可以用==
字符串前缀string.hasPrefix
字符串后缀string.hasSuffix
字符串中字符的个数countElements(string)

时间: 2024-10-13 22:32:19

Swift学习二的相关文章

swift学习二:基本的语法

声明本文转载自:http://www.cocoachina.com/applenews/devnews/2014/0603/8653.html Swift是什么? Swift是苹果于WWDC 2014公布的编程语言,这里引用The Swift Programming Language的原话:  Swift is a new programming language for iOS and OS X apps that builds on the best of C and Objective-C

Swift学习笔记十二:下标脚本(subscript)

下标脚本就是对一个东西通过索引,快速取值的一种语法,例如数组的a[0].这就是一个下标脚本.通过索引0来快速取值.在Swift中,我们可以对类(Class).结构体(structure)和枚举(enumeration)中自己定义下标脚本的语法 一.常规定义 class Student{ var scores:Int[] = Array(count:5,repeatedValue:0) subscript(index:Int) -> Int{ get{ return scores[index];

Swift学习笔记(二)参数类型

关于参数类型,在以前的编程过程中,很多时间都忽视了形参与实参的区别.通过这两天的学习,算是捡回了漏掉的知识. 在swift中,参数有形参和实参之分,形参即只能在函数内部调用的参数,默认是不能修改的,如果想要修改就需要在参数前添加var声明. 但这样的声明过后,仍旧不会改变实参的值,这样就要用到inout了,传递给inout的参数类型必须是var类型的,不能是let类型或者字面类型,(字面类型是在swift中常提的一个术语,个人认为就是赋值语句,也不能修改)而且在传递过程中,要用传值符号"&

Swift学习——格式控制符和元组流程控制(二)

Swift中的格式控制符和元祖 (1)首先介绍一下元祖,元祖是关系型数据库中  例如学生表中的姓名,年龄,电话等 定义如下 var studentinfo = ("jhon",29,"123456") println(studentinfo.0) 访问的时候是通过下标来访问的. //元组本身是以一个整体存在的,如果用下标获取元祖的某一项的数据时 //可以通过点语法加下标的形式得到,这叫元祖的拆包 println("name:\(studentinfo.0)

Swift学习——Swift基础详解(二)

上节说了没有营养的变量和常量,这玩意,都差不多,自己稍微看下就好了 Integers    整型 整数就是整数了,没有小数,整数有符号(+,-,0)或者无符号(0,+) Swift提供了8,16,32,64位的有符号和无符号的整数,命名使用C的方式,比如,8位无符号的整型UInt8,32位有符号的整型就是Int32 Integer Bounds    整型范围 可以使用min 和 max获取整数类型的最大值和最小值 let minValue = UInt8.min // minValue is

Swift学习笔记(二):属性、元组

一.属性的getter和setter //设置计算型属性:其并不真正的存储值,而是每次通过其他值计算得来 var subtotal: Double { //getter:通过total.taxPct计算获得total的值 get { return total / (taxPct + 1) } //setter:更新的是相关的值(比如此处基于newSubtotal来设置total.taxPct的值) set(newSubtotal) { //... } } 二.元组 | Tuples //创建一个

Swift 学习之二十一:?和 !(详解)

Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值, 也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化 .如果在使用变量之前不进行初始化就会报错: [plain] view plaincopyprint? var stringValue : String //error: variable 'stringValue' used before being initialized //let hashValue = stringValue.hashV

Swift开发学习(二):Playground

Swift开发学习:Playground 关于 对于软件用户.游戏玩家,大家一直都在提倡用户体验.其实软件开发者自己也是用户,是各种开发工具的使用者,也会喜欢用户体验做得好的工具软件.这次苹果想开发者所想,提供了一个可以玩转swift的游乐场--Playground,它为开发着提供了方便.提供了乐趣. 原文作者:Power 转载请保留此链接. Playground可以干什么 快速练习swift 不需要编译.不需要点击执行,编写代码后直接看效果 是不是比脚本语言还方便? 开发者可以通过Playgr

swift学习笔记之二——集合

//=========================== //2014/7/21 17:27 swift集合 //=========================== swift提供了两种集合类型,arrays和dictionaryies,两种集合都是可变的,可以在集合声明后对其进行新增.删除和修改操作. 1.array 数组的定义与java数组相同,但swift的数组提供了更灵活的创建方式和操作方式. 数组创建和初始化方式: var array1: Array<T> = [val1,va