数组
[翻译]Swift编程语言——造型
Swift的造型通过is和as操作符实现。类似的,itemisSong检查当前内容是否是一个Song实例。)在每次循环中检查向下造型的做法是合适的:例子一开始是这将当前的item向下造型为Movie。对Any和AnyObject造型Swift提供了两个特殊的类型别称表示没有指定的类型:AnyObject可以表示任意类的实例。这是因为OC语言没有明确类型的数组。可以在switch的case语句中使用is和as操作符,从仅仅已知为Any或者AnyObject类型的常量或者变量中发现特定的类型。
[翻译]Swift编程语言——集合类型
集合类型Swift提供了三种集合类型,数组、set和字典,用来存放一系列内容。set是互不相同值的无序集合。也意味着从集合中取到的类型一定是确定的。不能被修改的集合最好声明为常量,这样Swfit编译器会对其优化处理。NOTESwift的Set类型是与系统底层NSSet类的桥梁。Swift的字典明确了键和值的类型。和数组类似,省去类型后,简写的方式为:varairports=[”YYZ”:”TorontoPearson”,”dub”:”dublin”]因为赋值的内容类型都一样,所以Swift编译器可以推断出
swift学习:13.闭包
下面的例子展示了之前backwards函数对应的闭包表达式版本的代码:reversed=sorted//第一步简化:参数类型可以上下文推导reversed=sorted//第二步简化:只有一行的闭包可以省略returnreversed=sorted//第三步简化:$0,$1,$2可以依次表示函数参数reversed=sorted//第四步简化:Swift的String类型定义了关于(>)的字符串实现reversed=sorted2.尾随闭包如果您需要将一个很长的闭包表达式作为最后一个参数传递给函数,可以使
swift之附属脚本
例如,Swift的字典实现了通过附属脚本来对其实例中存放的值进行存取操作。为了方便进行断言,Matrix包含了一个名为indexIsValid的成员方法,用来确认入参的row或column值是否会造成数组越界:断言在附属脚本越界时触发:
Swift学习笔记(一)
1,Swift中全局作用域中的代码会被自动当做程序的入口点,所以不需要main函数。letlabel="Thewidthis"letwidth=94letwidthLabel=label+String有一种更简单的把值转换成字符串的方法:把值写到括号中,并且在括号看写一个反斜杠。letapples=3letoranges=5letappleSummary="Ihave\apples."letfritSummary="Ihave\piecesoffruit."4,创建数组和字典使用方括号[]来创建数组和字典
swift的一些知识点演练
表示可以有值,也可以没有值//?如果对象为空,就不会调用后面的方法,感觉上和oc中给nil发送消息类似varstr:Nsstring?str="hello"//打印可选项的时候,同时会输出一个Optional,提示开发者,这是一个可选项println(str?.length)letl=10//目前的代码存在什么风险?如果str没有设置初始值,会直接崩溃//苹果把判断对象是否有内容的工作交给了程序员//letlen=l+str!用来快速判断对象是否为nilletlen2=l+(str?0)//以下代码和上面
Swift学习:7.数组
相同的值可以多次出现在一个数组的不同位置中。字面量是一系列由逗号分割并由方括号包含的数值。下面这个例子创建了一个叫做shoppingList并且存储字符串的数组:由于Swift的类型推断机制,当我们用字面量构造只拥有相同类型值数组的时候,我们不必把数组的类型定义清楚。数组的遍历创建并且构造一个数组我们可以使用构造语法来创建一个由特定数据类型构成的空数组:Swift中的Array类型还提供一个可以创建特定大小并且所有数据都被默认的构造方法。
swift 字符串,数组,字典 的那些事<二>
数组varemptyArray:[String]=[String]()//往数组中添加数据emptyArray.append("a")//往数组中插入数据emptyArray.insert("b",atIndex:1)//移除数组中的某一元素emptyArray.removeAtIndex(1)//删除数组中的最后一个元素emptyArray.removeLast()println(empt