Swift
文章平均质量分 63
和纱Kazusa
这个作者很懒,什么都没留下…
展开
-
Swift中文教程(五)控制流
转载自:http://letsswift.com/2014/06/control-flow/Swift提供了所有C语言中相似的控制流结构。包括for和while循环;if和switch条件语句;break和continue跳转语句等。Swift还加入了for-in循环语句,让编程人员可以在遍历数组,字典,范围,字符串或者其它序列时更加便捷。相对于C语言,Swift中swit转载 2016-04-19 23:00:35 · 485 阅读 · 0 评论 -
Swift中文教程(六)函数
转载自:http://letsswift.com/2014/06/functions/函数是执行特定任务的代码自包含块。给定一个函数名称标识, 当执行其任务时就可以用这个标识来进行”调用”。Swift的统一的功能语法足够灵活来表达任何东西,无论是甚至没有参数名称的简单的C风格的函数表达式,还是需要为每个本地参数和外部参数设置复杂名称的Objective-C语言风格的函数。参数提转载 2016-04-19 23:09:45 · 283 阅读 · 0 评论 -
Swift中文教程(七) 闭包
转载自:http://letsswift.com/2014/06/closures/闭包(Closures)是独立的函数代码块,能在代码中传递及使用。Swift中的闭包与C和Objective-C中的代码块及其它编程语言中的匿名函数相似。闭包可以在上下文的范围内捕获、存储任何被定义的常量和变量引用。因这些常量和变量的封闭性,而命名为“闭包(Closures)”。Swift能转载 2016-04-19 23:17:06 · 311 阅读 · 0 评论 -
Swift下标
对于Swift中的字典,我们通过下标访问得到的结果是一个Optional值。这是容易理解的,因为你不能限制下标访问时的输入值。我们发现一个挺让人郁闷的问题,那就是我们很难一次性取出某几个特定位置的元素,比如在一个数组内,当我们取出index为0、2、3的元素的时候,在现有的体系下就会比较吃力。我们很可能要去枚举数组,然后在循环里判断它们是否我们想要的。其实有更好的做法,比如说可以实现一原创 2016-04-20 00:25:00 · 435 阅读 · 0 评论 -
Swift方法嵌套
想想看,有多少次我们因为一个方法主体内容过长,而不得不将它重够为好几个小的功能模块方法,然后在原来的主体方法中去调用这些小方法?在Swift中,对于这种情况有了解很好的应对措施,我们可以在方法中定义其他方法,也就是说,让方法嵌套起来。例如:func appendQuery(var url:String, key:String, value:AnyObject) -> S原创 2016-04-20 00:56:42 · 529 阅读 · 0 评论 -
Swift命名空间
Objective-C没有命名空间,为了避免冲突,Objective-C的类型一般都会加上两到三个字母的前缀,比如Apple保留的NS和UI前缀,各个系统框架的前缀,各个系统框架的前缀SK(StoreKit),CG(CoreGraphic)等。Swift的命名空间是基于module而不是在代码中显示地指明,每个module代表了Swift中的一个命名空间。也就是说,同一个target里原创 2016-04-20 01:48:55 · 1737 阅读 · 0 评论 -
Swift文档注释
对于Objective-C来说,这方面的自动生成工具有Apple标准的HeaderDoc,一级第三方的appledoc或者Doxygen等。/**A dome method:param: input An Int number:returns: The string represents the input number*/func method(原创 2016-04-20 02:10:51 · 435 阅读 · 0 评论 -
Swift调试输出
NSLog输出是程序开发中很重要的组成部分,在Swift中,最简单的输出方法就是使用println。我们当然可以在println的时候将当前的文件名字和那些必要的信息作为参数同我们的消息一起打印://Test.swiftfunc method() { //... println("文件名:Test.swift,方法名:method,这是一条输出")}原创 2016-04-20 10:17:20 · 1984 阅读 · 0 评论 -
Swift柯里化(Currying)
在Swift中可以将方法进行柯里化(Currying),也就是把接受多个参数的方法变成接受第一个参数的方法,并且返回接受余下的参数,返回结果的新方法。例如:func addTwoNumbers(a:Int)(num:Int) -> Int { return a + num}然后通过只传第一个括号内的参数进行调用,这样将返回另一个方法:let addtoFour原创 2016-04-20 23:56:34 · 276 阅读 · 0 评论 -
Swift方法参数名称省略
实际上,即使我们不在参数前加任何标记来显示地表明是否需要写名称,对于何时必须有名称标签,何时不能有标签,也是有规则的。在类型的init方法中是需要加入标签的。而对于实例方法来说,我们对其调用时Swift将忽略第一个参数的标签,而强制要求之后的参数名称。队类方法也是如此。但有一个例外,那就是如果这个方法是一个全局方法的话,参数名称默认是省略掉的。原创 2016-04-21 00:13:24 · 755 阅读 · 0 评论 -
func的参数修饰
这样做是错误的:func incrementor(variable:Int) -> Int { return ++variable}为什么在Swift里这样不行呢?因为Swift是一门讨厌变化的语言。所有可能得地方,都是默认不可变的,也就是用let声明的。这样不仅可以保证安全,也能在编译器的心梗优化上更用作为。在方法的参数上也是如此,我们不写修饰符的话,默认都是l原创 2016-04-21 00:30:31 · 530 阅读 · 0 评论 -
Swift中文教程(四) 集合类型
转载自:http://letsswift.com/2014/06/collection-types/Swift 提供两种集合类型来存储集合,数组和字典。数组是一个同类型的序列化列表集合。字典是一个能够使用类似于键的唯一标识符来获取值的非序列化集合。在Swift中,数组和字典的键和值都必须明确它的类型。这意味这数组和字典不会插入一个错误的类型的值,以致于出错。这也意味着当你在转载 2016-04-19 22:58:27 · 332 阅读 · 0 评论 -
Swift断言
Swift为我们提供了一系列的assert方法来使用断言,其中最常用的一个是:func assert(@autoclosure condition: () -> Bool, _ message: StaticString = default, file:StaticString = default,原创 2016-04-18 08:38:18 · 395 阅读 · 0 评论 -
Swift的常用全局函数介绍
转载自:http://letsswift.com/2014/06/swift-global-function/// Playground - noun: a place where people can play import UIKit var intValue = -10//绝对值, 10abs(intValue)//移动,20advance(intValue, 30)转载 2016-04-18 08:18:54 · 844 阅读 · 0 评论 -
iOS8中的playground新功能
一、Playground介绍Playground是Xcode6中自带的Swift代码开发环境。俗话说“功欲善其事,必先利其器”。以前在Xcode5中编写脚本代码,例如编写JS,其编写过程很痛苦,Xcode编辑器对脚本语言编写支持不好,但Playground让编写Swift代码不在痛苦。使用Playground编写Swift代码,不需要编译Swift文件或运行一个要编译的工程,而可以快速的看转载 2014-12-31 15:54:33 · 1666 阅读 · 0 评论 -
Objective-C调用Swift
如果已经有了一个老的iOS应用,它是使用Objective-C编写的,而它的一些新功能需要采用Swift来编写,这时就可以从Objective-C调用Swift。Objective-C调用Swift时不需要桥接头文件,而是需要Xcode生成的头文件。这种文件由Xcode生成,不需要我们维护,对于开发人员也是不可见的。如下图所示,它能够将Swift中的类暴露给Objective-C,它的命名转载 2014-12-31 15:42:05 · 644 阅读 · 0 评论 -
Swift 2.0初探
Swift 2.0初探转眼间,Swift已经一岁多了,这门新鲜、语法时尚、类型安全、执行速度更快的语言已经渐渐的深入广大开发者的心。我同样也是非常喜爱这门新的编程语言。今年6月,一年一度的WWDC大会如期而至,在大会上Apple发布了Swift 2.0,引入了很多新的特性,以帮助开发者能更快,更简单的构建应用。我在这里也说道说道Swift 2.0中值得大家注意的新特性。guar转载 2016-04-15 08:57:06 · 264 阅读 · 0 评论 -
Swift概览
Swift语言概览本文转自Lucida的博客 (新浪微博、豆瓣) 感谢原作者基本概念注:这一节的代码源自The Swift Programming Language中的A Swift Tour。Hello, world类似于脚本语言,下面的代码即是一个完整的Swift程序。1println("Hello, world")转载 2016-04-15 09:05:28 · 390 阅读 · 0 评论 -
Swift中文教程(一)基础数据类型
转载自:http://letsswift.com/2014/06/swift-guide-basic/基础类型虽然Swift是一个为开发iOS和OS X app设计的全新编程语言,但是Swift的很多特性还是跟C和Objective-C相似。Swift也提供了与C和Objective-C类似的基础数据类型,包括整形Int、浮点数Double和Float、布尔类型Bo转载 2016-04-15 11:09:17 · 353 阅读 · 0 评论 -
Swift初始化方法顺序
一般来说,子类的初始化顺序是:1.设置子类自己需要初始化的参数;2.调用父类的相应的初始化方法;3.对父类中的需要改变的成员进行设定。例如:class Cat { var name:String init() { name = "cat" }}class Tiger:Cat { l原创 2016-04-28 22:55:21 · 665 阅读 · 0 评论 -
Swift中文教程(二)基本运算符
转载自:http://letsswift.com/2014/06/basic-operators/运算符是一种特定的符号或表达式,用来检验、修改或合并变量。例如,用求和运算符+可以对两个数字进行求和(如let i = 1 + 2);稍微复杂一点的例子有逻辑与操作符&& (如if enteredDoorCode && passedRetinaScan) ,自增长运算符 ++i (转载 2016-04-16 19:56:31 · 336 阅读 · 0 评论 -
Swift中的iOS设计模式(一)
转载自:http://letsswift.com/2015/01/ios-design-pattern-in-swift-1/iOS设计模式 - 大伙应该都听说过,但是有多少人真正的了解他们呢?虽然大多数开发者都认同设计模式的重要性,但是在实际开发中却并不怎么注意使用设计模式,而且关于设计模式的文章也是凤毛麟角,这更使得开发者无从下手去学习设计模式。设计模式是一个处理软件设转载 2016-04-16 20:01:45 · 446 阅读 · 0 评论 -
Swift溢出
在Swift中我们一般简单的使用Int来表示整数,在iPhone 5和以下的设备中,这个类型其实等同于Int32,而在64位设备中表示的是Int64(这点和Objective-C中的NSIntereger表现是完全一样的,事实上,在Swift中NSInteger只是一个Int的typealias)。这就意味着,我们在开发的时候必须考虑同样的代码在不同平台上的表现差异,比如下面的这段代码计算在32位原创 2016-05-12 03:52:59 · 532 阅读 · 0 评论 -
Swift中文教程(三) 字符串和字符
转载自:http://letsswift.com/2014/06/strings-and-characters/一个字符串String就是一个字符序列,像”hello,world”,”albatross”这样的。Swift中的字符串是用String关键词来定义的,同时它也是一些字符的集合,用Character定义。Swift的String和Character类型为代码提供了转载 2016-04-17 09:23:46 · 372 阅读 · 0 评论 -
Swift中的iOS设计模式(二)
转载自:http://letsswift.com/2015/02/ios-design-pattern-in-swift-2/Facade设计模式Facade设计模式为多个子模块或子系统提供统一的、单独的API接口。也就是说,不用给用户暴露一堆乱七八糟的接口,只需要暴露一个简单的、标准的接口即可。下面这张图能更好的描述这个概念:用户在使用我们暴露的标准的AP转载 2016-04-17 09:25:41 · 385 阅读 · 0 评论 -
iOS8 Core Image In Swift:自动改善图像以及内置滤镜的使用
转载自:http://blog.csdn.net/zhangao0086/article/details/39012231iOS8 Core Image In Swift:自动改善图像以及内置滤镜的使用iOS8 Core Image In Swift:更复杂的滤镜iOS8 Core Image In Swift:人脸检测以及马赛克iOS8 Core Imag转载 2016-11-02 22:57:49 · 569 阅读 · 0 评论