Swift入门教程(1.0)
文章平均质量分 68
黄文臣
这个作者很懒,什么都没留下…
展开
-
Swift入门教程12-可选链
可选链提供一个一种可选的方式访问对象的属性、方法、下标脚本,可选链的返回值一定是可选类型。优点:替代强制解析(符号!,例如instance.location!.y),因为强制解析nil的值会导致运行期错误我的心得:对一个链式调用,比如instance.Frame.Origin.x等很长的调用,对可能是nil的部分加上?例如,frame和Origin可能为nil,则这么使用instance.Frame?.origin?.x原创 2014-11-07 20:36:04 · 1907 阅读 · 0 评论 -
Swift实用技术系列-如何在navigationbar上添加UISearchBar
直接上代码lazy var searchBar:UISearchBar = UISearchBar(frame: CGRectMake(0, 0, 200, 20))原创 2014-11-04 20:51:31 · 6515 阅读 · 0 评论 -
Swift入门教程11-继承
继承两个概念:子类(subclass)和基类(base class)子类可以继承父类的属性、方法、下标脚本(subscript)子类可以调用和重写父类的属性、方法、下标脚本1、继承的语法用一个冒号指定继承关系class subclass:baseclass{}2、访问和重写在子类中,调用super.属性 super.方法 super[]等来访问基类用override关键字重写:可以重写属性,方法,属性观察期,下标脚本如果基类不想被重写,使用final关键字final var原创 2014-11-03 22:01:42 · 1513 阅读 · 0 评论 -
Swift实用技术系列-XCode6本地化图解
一、首先讲解下本地化和国际化的区别 这是两个非常容易混淆的概念,总的来说,本地化就是把UI变成本地语言,比如英文的cancel变成中文就是取消。国际化就是功能上支持国际化,比如键盘的国际化就是对应不同国家给他们不同的键盘。本地化的原理:创建对应不同语言的本地化文件,然后每次去读名称一样的本地化文件,ios系统会根据当前语言的不同读不同的文件原创 2014-11-03 18:30:32 · 3768 阅读 · 0 评论 -
Swift入门教程系列5-函数+selector在swift中的用法
工欲善其事必先利其器Swift就是IOS开发的利器原创 2014-10-18 09:03:49 · 7275 阅读 · 2 评论 -
福利整理-如何在XCode 6中利用注释生成文档
由于最近公司的SDK要提交第一个版本,所以在忙着写文档,找了一些资料,自己也实际应用了一些,把一些经验写出来,分享给需要的人。本博文主要针对XCode 6 和Objective C语言后续会更新Swift语言如何生成文档原创 2014-11-05 20:22:13 · 3875 阅读 · 0 评论 -
Swift难点-继承中的构造规则实例详解
便利构造器通过convenience关键字声明,可以看到,便利构造器是通过调用指定构造器来进行构造的。这也就是一个关键的概念:横向代理。何为代理:就是让别人帮你干活二、构造过程中的规则(一)构造器链就是调用构造器的顺序规则如下:1.1、指定构造器必须调用其父类的指定构造器1.2、便利构造器必须调用同一类中的指定构造器1.3、便利构造器必须最后以调用一个指定构造器而结束总得来说一句话:便利构造器横向代理,指定构造器向上代理。原创 2014-11-19 08:18:29 · 3451 阅读 · 0 评论 -
Swift字符串转16进制+字符串过滤
今天用swfit写项目的时候遇到了转换的问题,贴出来,给需要的人原创 2014-10-20 21:32:15 · 11116 阅读 · 0 评论 -
Swift入门教程17-ARC与强弱引用
全称自动引用计数,是一种内存管理机制。当一块内存的强引用的数目等于0的时候,则这块内存将会被释放。由于在Swift中,枚举和结构体都是值类型,不通过引用方式进行存储和传递,所以Swift中只有类的实例会进行自动引用计数。原创 2014-11-21 21:50:00 · 1674 阅读 · 0 评论 -
Swift入门教程系列6-闭包
闭包闭包是什么,如果你接触过Objective C,那么闭包类似于其中的block闭包是一种自包含的函数代码块,可以被传递和使用(简单理解就是一种简化了的函数类型)闭包可以捕获和存储上下文的任意常量和变量的引用,注意是引用swfit鼓励使用闭包,因为其小巧,简洁。闭包表达式{ (参数1,参数2,...)->返回值类型 in 执行语句}闭包表达式以其原创 2014-10-21 20:41:42 · 2053 阅读 · 0 评论 -
IOS闭包循环引用(Swift)
原创Blog,转载请注明出处一、何时回形成闭包循环引用?当闭包捕获自身引用,并且同时销毁的时候,就会导致循环引用。不熟悉闭包的同学参见这篇文章Swift入门教程系列6-闭包例如:这里声明description为一个闭包,这个闭包为lazy变量(lazy 变量只有在需要的时候才会被初始化),这个闭包的功能就是调用类的实例函数原创 2014-11-24 18:55:12 · 2645 阅读 · 0 评论 -
Swift入门教程17-协议(二)
本文主要补充上一篇文章中未提及的协议的功能原创 2014-12-15 20:16:24 · 1686 阅读 · 0 评论 -
Swift入门教程19-泛型
和C++的类似,泛型定义了一种适用于任何类型的,可重用的代码,用一种抽象的方式来实现代码。Swift的Array和Dictionary都是用泛型来实现的,因为Array可以保存String类型的变量,也可以保存Int类型的。原创 2015-01-11 11:41:19 · 1732 阅读 · 0 评论 -
Swift入门教程18-代理Delegate
何为代理?顾名思义,代理就是把自己做的任务交给别人做。让代理遵循着监听到一些事件,实现一些数据源。做过IOS开发的都应该知道TableView有两个属性,delegate和dataSource。这就是代理最好的体现,tableView在设计之初并不知道这个tableView将来会放在哪里,存储的是什么东西,这里数据源就起到了关键性作用:对于设计者来说,我只要依据数据源来生成对应的视图,对于使用者,只需要填充数据源。而delegate则给予用户一个接口来响应一些事件,比如tableview中的一行被点击等等。原创 2014-12-23 19:44:29 · 7955 阅读 · 0 评论 -
Swift单例模式详解-线程安全,多核性能
class Singleton { class var sharedInstance : Singleton { ...解释:1 在类hwcSingleton 中,用class关键字声明一个全局变量 sharedObject,作为对象的实例,第一次创建,以后每次都返回这个实例2 创建一个辅助的结构体,这个结构体中有两原创 2014-10-16 19:57:44 · 3669 阅读 · 2 评论 -
Swift入门教程1-准备知识
本人也是swift方面的新手之前做过一段时间Objective C,提交过APP和SDK,对IOS开发还算入门。看到Swift语言,很喜欢,所以决定完成Swfit的学习给我的感觉,Swift更像python和java的结合每周两到三篇的更新,预计两个月内完成《SWIFT入门系列》在此写blog,方便自己以后查阅,也方便其他同学去入门学习。这个系列希望是有OOP经验的同学,零原创 2014-10-04 21:15:33 · 1801 阅读 · 0 评论 -
Swift入门教程2-运算符
对于操作符的优先级,建议用括号来括起来明确优先级,自己方便,他人维护也方便赋值运算符 = var m = nlet temp = 10let (x,y) = (1,2)注意,if x = y{}//wrong,因为Swfit的赋值运算符不返回任何值算数运算符 + - * /使用方式类似于C和OCswfit默认情况不允许数值运算溢出+ 可用于字原创 2014-10-05 10:19:15 · 1804 阅读 · 0 评论 -
Swift入门教程13-类型转换is as any anyobject
类型转换的关键字is 判断是否是某种类型as 强制转换为某种类型as? 可选转换为某种类型,转换结果为可选类型,转换失败为nilAny 任意类型的常量、变量(不包括函数类型)Anyobject 任意class类型的实例原创 2014-11-08 21:07:30 · 6552 阅读 · 0 评论 -
Swift中利用NSURLConnection进行同步异步下载(实例解析)
简单来讲,同步就是函数或者闭包(objective c中的block)执行完毕才能返回。异步是立刻返回,然后异步执行的动作结束后,再进行回调。二、同步下载同步下载:class func sendSynchronousRequest(_ request: NSURLRequest,returningResponse response:AutoreleasingUnsafeMutablePointer<NSURLresponse>error error:NSErrorPointer)->NSdata原创 2014-11-11 08:25:44 · 6420 阅读 · 0 评论 -
Swift入门教程3-字符串String
原创blog,转载请注明出处String在swfit中,String兼容Unicode的方式。使用方法和C语言类似。注意 在Cocoa和Cocoa touch中,Swift的String,和Foundation中的NSString是兼容的,所有NSString额API都可以调用String类型字符串常量1、含转义字符:例如\n,\t等2、单字节Unicode原创 2014-10-07 12:09:03 · 9791 阅读 · 0 评论 -
swift入门教程系列7-控制流
之前写的过程中忽略了这两个比较基础的部分,这里补上一、控制流总的来说使用方式和C,C++,Objective C等差不多这里讲解可能会少一点,大家实际写点代码就会用了,很简单有一点特别要注意的是,swift中的条件表达式的结果一定是Bool类型的也就是说var a = 19if a{}这样的表达式是不对的,因为a是Int类型1、ifif boo原创 2014-10-26 11:52:55 · 1823 阅读 · 0 评论 -
Swift入门教程系列8-枚举
枚举定义了一组相关的值C语言中枚举为一组整数在swift中,不需要给枚举成员提供值,如果提供,这个值可以是一个字符串,一个字符,整数或者浮点数。在swift中,枚举类型具有很多class支持的特征,比如计算属性,实例方法,构造函数,也支持扩展和协议所以,在swfit中,枚举可以做的事情很多原创 2014-10-26 17:53:08 · 1506 阅读 · 0 评论 -
Swift入门教程4-集合(NSArray Dictionary)
在swfit中,仍然可以使用Foundation中的NSString,NSArray,NSMuableArray,NSMutableSet等集合类型只不过使用的方式略有变化例如:NSMutableDictionaryvar mutableDic = NSMutableDictionary()//初始化一个空的NSMutableDictionarymutableDic.s原创 2014-10-10 21:14:58 · 5443 阅读 · 0 评论 -
Swfit入门教程9-类和结构体
之所以把这两个放在一起,是因为在swfit中,类和结构体的关系非常紧密,甚至很多时候很难区分是用类实现还是用结构体实现好。在其他语言中,类对应对象,而在swfit中,常常称作类对应实例,结构体也对应实例。一、类和结构体的异同1、都可以定义属性存储值2、都可以定义方法提供功能3、都可以定义构造函数4、都可以定义附属脚本5、都支持扩展和协议相对于结构体,原创 2014-10-28 20:59:52 · 1993 阅读 · 1 评论 -
Swift入门教程14-构造器
构造是为类、结构体,枚举进行实例化做的准备。构造应当完成的是属性的初始化以及对象执行的必要准备工作。注意:swfit的构造器不返回值原创 2014-11-14 21:46:47 · 1701 阅读 · 0 评论 -
Swift中KVC和KVO的使用
原创BLog,转载请注明出处Swift中使用KVC和KVO的类都必须必须继承自NSObjectKVCkey-value coding是一种间接访问对象的机制key的值就是属性名称的字符串,返回的value是任意类型,需要自己转化为需要的类型KVC主要就是两个方法(1)通过key设置对应的属性(2)通过key获取对应的属性举例class TestFor原创 2014-10-29 19:24:19 · 12876 阅读 · 0 评论 -
Swift入门教程10-subscript下标脚本
下标脚本subscript可以使用在类,结构体,枚举中提供一种类似于数组或者字典通过下标来访问对象的方式subscript可以重载,就是一个类可以定义多个下标脚本可以设置为只读和读写原创 2014-10-30 21:18:23 · 3009 阅读 · 0 评论 -
Swift中NSData与NSDictionary之间的相互转换
原创Blog,转载请注明出处使用NSKeyedUnarchiver类来进行相互转换原创 2014-11-01 15:44:53 · 11415 阅读 · 0 评论 -
Swift中用NSURLConnection解析URL,并解析Jason数据
用NSMutableData来保存每次获得的数据@lazy var data = NSMutableData()用NSJSONNSerialization来解析数据原创 2014-10-31 18:30:06 · 4498 阅读 · 0 评论 -
Swift入门教程15-扩展(extension)
扩展可以增加的功能包括1、计算属性和计算静态属性(不可以添加存储属性和属性观察期)2、新的实例方法和类型方法3、提供新的构造器4、定义下表标本5、定义和使用新的嵌套类型6、使已有类型符合某个协议原创 2014-11-27 21:46:32 · 2101 阅读 · 0 评论