自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (3)
  • 收藏
  • 关注

原创 Swift初始化方法顺序

一般来说,子类的初始化顺序是:1.设置子类自己需要初始化的参数;2.调用父类的相应的初始化方法;3.对父类中的需要改变的成员进行设定。例如:class Cat {    var name:String    init() {        name = "cat"    }}class Tiger:Cat {    l

2016-04-28 22:55:21 665

转载 iOS 对plist增改操作

这篇文章是自己通过实践获取,在网上查过很多资料,也走了不上的弯路,由于刚开始学子不久,只是把自己遇到的问题贡献给大家一,创建文件//获取路径对象NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);//获取完整路径NSString *doc

2016-04-24 18:04:06 415

原创 NSBundle简介

bundle是一个目录,其中包含了程序会使用到的资源. 这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in). 对应bundle,cocoa提供了类NSBundle.我们的程序是一个bundle. 在Finder中,一个应用程序看上去和其他文件没有什么区别. 但是实际上它是一个包含了nib文件,编译代码,以及其他资源的目录. 我们把这个目录叫做程序的

2016-04-22 01:47:38 575

原创 func的参数修饰

这样做是错误的:func incrementor(variable:Int) -> Int {    return ++variable}为什么在Swift里这样不行呢?因为Swift是一门讨厌变化的语言。所有可能得地方,都是默认不可变的,也就是用let声明的。这样不仅可以保证安全,也能在编译器的心梗优化上更用作为。在方法的参数上也是如此,我们不写修饰符的话,默认都是l

2016-04-21 00:30:31 530

原创 Swift方法参数名称省略

实际上,即使我们不在参数前加任何标记来显示地表明是否需要写名称,对于何时必须有名称标签,何时不能有标签,也是有规则的。在类型的init方法中是需要加入标签的。而对于实例方法来说,我们对其调用时Swift将忽略第一个参数的标签,而强制要求之后的参数名称。队类方法也是如此。但有一个例外,那就是如果这个方法是一个全局方法的话,参数名称默认是省略掉的。

2016-04-21 00:13:24 756

原创 Swift柯里化(Currying)

在Swift中可以将方法进行柯里化(Currying),也就是把接受多个参数的方法变成接受第一个参数的方法,并且返回接受余下的参数,返回结果的新方法。例如:func addTwoNumbers(a:Int)(num:Int)  ->  Int {    return a + num}然后通过只传第一个括号内的参数进行调用,这样将返回另一个方法:let addtoFour

2016-04-20 23:56:34 276

转载 关于EnumerateObjectsUsingBlock和for-in之间的较量

如果我们要遍历一个数组, 上过编程课程的童鞋都会想到For语句去循环.Objective C 提供一个Block的遍历方法, 那么用它还是用For好呢?下面我们去实践一下:遍历一个数组看谁快参赛选手 ForLoop, For - in, enumerateObjectsUsingBlock这个三个方法: NSMutableArray *test = [NSMutableA

2016-04-20 20:15:23 378

原创 Swift调试输出

NSLog输出是程序开发中很重要的组成部分,在Swift中,最简单的输出方法就是使用println。我们当然可以在println的时候将当前的文件名字和那些必要的信息作为参数同我们的消息一起打印://Test.swiftfunc method() {    //...    println("文件名:Test.swift,方法名:method,这是一条输出")}

2016-04-20 10:17:20 1985

原创 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 436

原创 Swift命名空间

Objective-C没有命名空间,为了避免冲突,Objective-C的类型一般都会加上两到三个字母的前缀,比如Apple保留的NS和UI前缀,各个系统框架的前缀,各个系统框架的前缀SK(StoreKit),CG(CoreGraphic)等。Swift的命名空间是基于module而不是在代码中显示地指明,每个module代表了Swift中的一个命名空间。也就是说,同一个target里

2016-04-20 01:48:55 1737

原创 Swift方法嵌套

想想看,有多少次我们因为一个方法主体内容过长,而不得不将它重够为好几个小的功能模块方法,然后在原来的主体方法中去调用这些小方法?在Swift中,对于这种情况有了解很好的应对措施,我们可以在方法中定义其他方法,也就是说,让方法嵌套起来。例如:func appendQuery(var url:String, key:String, value:AnyObject) -> S

2016-04-20 00:56:42 530

原创 Swift下标

对于Swift中的字典,我们通过下标访问得到的结果是一个Optional值。这是容易理解的,因为你不能限制下标访问时的输入值。我们发现一个挺让人郁闷的问题,那就是我们很难一次性取出某几个特定位置的元素,比如在一个数组内,当我们取出index为0、2、3的元素的时候,在现有的体系下就会比较吃力。我们很可能要去枚举数组,然后在循环里判断它们是否我们想要的。其实有更好的做法,比如说可以实现一

2016-04-20 00:25:00 436

转载 Swift中文教程(七) 闭包

转载自:http://letsswift.com/2014/06/closures/闭包(Closures)是独立的函数代码块,能在代码中传递及使用。Swift中的闭包与C和Objective-C中的代码块及其它编程语言中的匿名函数相似。闭包可以在上下文的范围内捕获、存储任何被定义的常量和变量引用。因这些常量和变量的封闭性,而命名为“闭包(Closures)”。Swift能

2016-04-19 23:17:06 311

转载 Swift中文教程(六)函数

转载自:http://letsswift.com/2014/06/functions/函数是执行特定任务的代码自包含块。给定一个函数名称标识, 当执行其任务时就可以用这个标识来进行”调用”。Swift的统一的功能语法足够灵活来表达任何东西,无论是甚至没有参数名称的简单的C风格的函数表达式,还是需要为每个本地参数和外部参数设置复杂名称的Objective-C语言风格的函数。参数提

2016-04-19 23:09:45 283

转载 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 486

转载 Swift中文教程(四) 集合类型

转载自:http://letsswift.com/2014/06/collection-types/Swift 提供两种集合类型来存储集合,数组和字典。数组是一个同类型的序列化列表集合。字典是一个能够使用类似于键的唯一标识符来获取值的非序列化集合。在Swift中,数组和字典的键和值都必须明确它的类型。这意味这数组和字典不会插入一个错误的类型的值,以致于出错。这也意味着当你在

2016-04-19 22:58:27 332

原创 Swift断言

Swift为我们提供了一系列的assert方法来使用断言,其中最常用的一个是:func assert(@autoclosure condition: () -> Bool,                      _ message: StaticString = default,                      file:StaticString = default,

2016-04-18 08:38:18 397

转载 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

转载 Swift中的iOS设计模式(二)

转载自:http://letsswift.com/2015/02/ios-design-pattern-in-swift-2/Facade设计模式Facade设计模式为多个子模块或子系统提供统一的、单独的API接口。也就是说,不用给用户暴露一堆乱七八糟的接口,只需要暴露一个简单的、标准的接口即可。下面这张图能更好的描述这个概念:用户在使用我们暴露的标准的AP

2016-04-17 09:25:41 386

转载 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

转载 Swift中的iOS设计模式(一)

转载自:http://letsswift.com/2015/01/ios-design-pattern-in-swift-1/iOS设计模式 - 大伙应该都听说过,但是有多少人真正的了解他们呢?虽然大多数开发者都认同设计模式的重要性,但是在实际开发中却并不怎么注意使用设计模式,而且关于设计模式的文章也是凤毛麟角,这更使得开发者无从下手去学习设计模式。设计模式是一个处理软件设

2016-04-16 20:01:45 446

转载 Swift中文教程(二)基本运算符

转载自:http://letsswift.com/2014/06/basic-operators/运算符是一种特定的符号或表达式,用来检验、修改或合并变量。例如,用求和运算符+可以对两个数字进行求和(如let i = 1 + 2);稍微复杂一点的例子有逻辑与操作符&& (如if enteredDoorCode && passedRetinaScan) ,自增长运算符 ++i (

2016-04-16 19:56:31 336

转载 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

转载 Swift概览

Swift语言概览本文转自Lucida的博客 (新浪微博、豆瓣) 感谢原作者基本概念注:这一节的代码源自The Swift Programming Language中的A Swift Tour。Hello, world类似于脚本语言,下面的代码即是一个完整的Swift程序。1println("Hello, world")

2016-04-15 09:05:28 391

转载 Swift 2.0初探

Swift 2.0初探转眼间,Swift已经一岁多了,这门新鲜、语法时尚、类型安全、执行速度更快的语言已经渐渐的深入广大开发者的心。我同样也是非常喜爱这门新的编程语言。今年6月,一年一度的WWDC大会如期而至,在大会上Apple发布了Swift 2.0,引入了很多新的特性,以帮助开发者能更快,更简单的构建应用。我在这里也说道说道Swift 2.0中值得大家注意的新特性。guar

2016-04-15 08:57:06 264

Vue.js源码全方位深入解析

Vue.js源码全方位深入解析。面试和深入学习必备。⽬前社区有很多 Vue.js 的源码解析⽂章, 但是质量层次不⻬, 不够系统和全⾯, 这本电⼦书的⽬标是 全⽅位细致深度解析 Vue.js 的实现原理, 让同学们可以彻底掌握 Vue.js。 ⽬前分析的版本是 Vue.js 的最 新版本 Vue.js 2.5.17-beta.0, 并且之后会随着版本升级⽽做相应的更新, 充分发挥电⼦书的优势。

2019-01-28

现代操作系统

《现代操作系统》Tanenbaum教授作为三个操作系统的设计师或联合设计师,具有长期设计开发操作系统的经验,从而把其对理论的深入理解和具体实践融入书中,使《现代操作系统》成为操作系统领域的经典之作。

2013-03-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除