SWIFT Enumeration(1)】的更多相关文章

之前记录了Swift Enumeration(1),这篇算是它的延续吧,继续说下Enumeration,看以下定义 enum TrainStatus { case OnTime case Delay(Int) //带关联值 } var myTrainStatus = TrainStatus.Delay(10) 用Switch 匹配对象 switch myTrainStatus{ case .OnTime: println("Train is ontime") case .Delay(l…
Swift中定义Enumeration跟其它语言挺类似的,看如下定义一个星期的Enumeration enum Day:Int{ case Monday = 1, Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday } Monday赋值为1其它值则按顺序自动赋值,也是一种比较简便的写法,当然也可以为每个属性赋值 enum Day:Int{ case Monday = 1 case Tuesday = 2, case Wednesday = 3,Th…
Apple官方文档:The Swift Programming LanguageProtocols and Extensions一节的小节练习,要求自行定义一个enumeration枚举类型,并且遵循ExampleProtocol协议: protocol ExampleProtocol { var simpleDescription: String { get } mutating func adjust() } 在网上找了好久,都不知道怎样实现,最后参照一篇帖子(http://forums.m…
下标脚本可以定义在类(Class).结构体(Struct).枚举(enumeration)这些目标中,可以认为是访问集合,列表或序列的快捷方式,使用下标脚本的索引设置和获取值,不需要再调用实例的特定的赋值和访问方法.对于同一个目标可以定义多个下标脚本,通过索引值类型的不同来进行重载,下标脚本不限于单个纬度,你可以定义多个入参的下标脚本满足自定义类型的需求. 1.下标脚本的语法 下标脚本允许你通过在实例后面的方括号中传入一个或多个的索引值来对实例进行访问和赋值.语法类似于实例方法和计算属性的混合.…
枚举为一组相关的值定义一个共同的类型,并允许您在代码中的以类型安全的方式中使用这些值,在 Swift 中,枚举类型是一等(first-class)类型.它们采用了很多传统上只被类所支持的特征,例如计算型属性(computed properties),用于提供关于枚举当前值的附加信息,实例方法(instance methods),用于提供和枚举所代表的值相关联的功能.枚举也可以定义构造器(initializers)来提供一个初始成员值:可以在原始的实现基础上扩展它们的功能:可以遵守协议(proto…
1. 应该充分利用swfit的新特性 比如如果按照oc里的习惯,调用一个delegate中都optional函数应该这样写 if delegate != nil && delegate!.respondsToSelector("downloadProgress:progress:"){ delegate!.downloadProgress!(self, progress: totalProgress) } 先检查是不是nil,再检查是否实现了方法,而swift应该这样写…
一条声明可以在你的程序里引入新的名字和构造.举例来说,你可以使用声明来引入函数和方法,变量和常量,或者来定义 新的命名好的枚举,结构,类和协议类型.你也可以使用一条声明来延长一个已经存在的命名好的类型的行为.或者在你的 程序里引入在其他地方声明的符号. 在swift中,大多数声明在某种意义上讲也是执行或同事声明它们的初始化定义.这意味着,因为协议和他们的成员不匹配, 大多数协议成员需要单独的声明.为了方便起见,也因为这些区别在swift里不是很重要,声明语句同时包含了声明和定义. GRAMMAR…
内容提要: 本文前两部分讲了Cocoa的集合类和Swift的集合类,其中Cocoa提供的集合类包括NSArray.NSMutableArray.NSDictionary.NSMutableDictionary.NSSet:Swift的集合类包括Array<SomeType>或[SomeType].Set<SomeType>.Dictionary<KeyType, ValueType>.每个小类目是对应的集合类的用法.最后,本文讲解了Cocoa集合类的3种遍历方法. 正文…
1.Swift 2.0 带来哪些新变化 常规变化: 1.OS X 10.11.iOS 9 和 watchOS 2 SDK 采纳了一些 Objective-C 的特性用来提高 Swift 的编程体验, 如可空性.类型化集合和一些别的特性. 2.编译器对冗余的协议一致性,未被使用的绑定值以及可以设为常量的变量这些情况目前会给予警告或报错. 3.修复了跨文件协议遵循时符号不可见或者重复的错误. 4.Swift 语言的调用约定更加智能,能够理解 API 所发生的变化和 Swift 所给出的警告. 5.便…
1.Subscript 下标脚本允许你通过在实例后面的方括号中传入一个或者多个的索引值来对实例进行访问和赋值.语法类似于实例方法和计算型属性的混合.与定义实例方法类似,定义下标脚本使用 subscript 关键字,显式声明入参(一个或多个)和返回类型,每个输入参数的类型也没有限制,返回值可以是任何类型,并无限制.输入参数也可以使用可变参数,但使用输入/输出(in-out)参数或和给参数设置默认值都是不允许的.与实例方法不同的是下标脚本可以设定为读写或只读.这种方式又有点像计算型属性的 gette…