
Swift远征军
文章平均质量分 75
秋雨暗千家
男儿不展凌云志,空负天生八尺躯
展开
-
Swift语言IOS8开发战记8.NavigationController
这一话我们要添加一个导航栏,添加导航控制器需要在初始化的时候添加。打开类AppDelegate,会看到一个叫application的方法。原创 2015-01-05 17:39:20 · 7734 阅读 · 0 评论 -
swift语言IOS8开发战记21 Core Data2
新年到了,祝大家大家羊年快乐,喜气洋洋。上一话中我们简单地介绍了一些coredata的基本知识,这一话我们通过编程来实现coredata的使用。这一话中建立的几个变量对照上一话中讲到的coredata中重要的变量,在AppDelegate中,添加如下代码:lazy var applicationDocumentsDirectory:NSURL = { let urls = NS原创 2015-02-20 16:58:49 · 5496 阅读 · 0 评论 -
swift语言IOS8开发战记4.custom tableViewCell
第三话中讲解了如何利用系统内置的cell格式,这一话来谈谈如何自定义cell格式.在stroyboard中通过拖拽为cell添加内容,并且通过属性检测器修改样式,下面是我简单设置的一个自定义cell。因为cell是自定义的,所以需要创建一个文件与cell关联,新建一个文件,注意创建的是一个cocoa touch class,如下图所示在新建的cell的代码中添加界面上的ce原创 2015-01-02 09:39:20 · 8626 阅读 · 5 评论 -
swift语言IOS8开发战记22 Core Data3
上一话我们定义了与coredata有关的变量和方法,做足了准备工作,这一话我们来试试能不能成功。首先打开上一话中生成的Info类,在其中引用头文件的地方添加一个@objc(Info),不然后面会报错,我也不知道为什么。然后在viewController中添加代码如下代码来实现:import UIKitimport CoreDataclass ViewController: UIVie原创 2015-02-21 02:46:02 · 1521 阅读 · 0 评论 -
swift语言IOS8开发战记20 Core Data1
Core Data字面意思就是核心数据,但它其实并不是一个数据库,它是一个框架,就像我们之前经常用到的Foundation一样,我们做持久化的时候,使用Core Data非常方便。下面展示的是Core Data框架的结构图:我们来新建一个项目进行添加core data的学习。 新建一个项目,在项目中添加new file的时候可以看到专门有一个Core Data的选项原创 2015-01-21 21:07:17 · 12501 阅读 · 0 评论 -
Swift开发笔记2.浅谈闭包
一门计算机语言要支持闭包,需要有两个前提:1.支持函数类型,能够将函数作为参数或返回值传递。2.支持函数嵌套。这两个前提在Swift中都是满足的,下面展示一个函数嵌套func cal(opr :String)->(Int,Int)->Int { func add(a: Int,b: Int)->Int{ return a + b } func sub原创 2015-01-04 08:50:01 · 5026 阅读 · 0 评论 -
swift语言IOS8开发战记6.Alert&ActionSheet
今天来重点讲解一下Alert和ActionSheet的用法。Alert主要用来提示用户一些信息,而当用户除了需要看到消息之外,还需要做出反应,这时候就需要用到ActionSheet,也就是操作表。我们在前面的基础上继续进行,将之前的cell代理方法中调用的alertview删掉,重新编写一个ActionSheet。编写好的代码如下,稍后我将对代码进行解释。func tableView(tabl原创 2015-01-03 17:15:40 · 8713 阅读 · 0 评论 -
swift语言IOS8开发战记23 Core Data4
这后面的部分痘子的视频已经不讲了,我自己看着英文书试着给大家讲的,书名叫《Beginning IOS8 Programming with Swift》,感兴趣的同学自己搜一下哈。上一话中我们讲解了coredadta的用法,那么如何把coredata用到我们的工程中么,可以把上一话中的代码粘贴到我们工程的AppDelegate中,基本这套代码是通用的,注意有两句要修改一下,一句是:let mod原创 2015-02-22 23:13:37 · 4191 阅读 · 0 评论 -
Swift语言IOS8开发战记7.Delete TableViewCell
之前演示了Alert和ActionSheet的用法,如果我们不想要某一行cell了,那么就需要删除选项。首先来体验一下Swift内置的删除方法。也是一个tableView的代理方法。func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRow原创 2015-01-04 15:00:46 · 8028 阅读 · 0 评论 -
Swift开发笔记3.Swift中setter和getter的基本用法
Swift中有存储属性和计算属性两种。其中在计算属性中可以实现setter和getter方法,我们在playground中定义两个结构体:struct Point { var x = 0.0, y = 0.0}struct Size { var width = 0.0, hight = 0.0}假设这两个结构体要实现一个画图的功能。point是起点,siz原创 2015-01-05 21:55:35 · 9475 阅读 · 0 评论 -
Swift语言IOS8开发战记25 网络通信Get和Post方式
Get是从服务器上获取数据,Post是向服务器传送数据。对于Get方式,服务器端用Requset.QueryString获取变量的值,对于Post方式,服务器端用Request.Form获取提交的数据。Get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内个个字段一一对应,在URL中可以看到。Post是通过HTTP Post机制,将表单内各个字段与其内容放置在HTML HE原创 2015-06-19 11:01:53 · 1743 阅读 · 0 评论 -
Swift语言IOS8开发战记26 NSURLSession加载数据、上传下载
NSURLSession类支持三种类型的任务:加载数据、下载和上传,即Data Task,DownLoad Task和Upload Task。Session Task是整个NSURLSession架构的核心目标。Data Task用于加载数据,使用全局的sharedSession()和func dataTaskWithRequest方法创建,示例代码如下:import UIKitcla原创 2015-06-19 14:02:34 · 1771 阅读 · 0 评论 -
Swift语言IOS8开发战记27 Sketch初探
在之前我们新建了一个计算器项目,现在我想要给这个计算器项目制作一个桌面图标,可以使用Sketch,这是一款非常棒的软件。要想详细地学习这个软件请访问“Sketch中国”,里面有很多专业的Demo和教材。相对于PS这样的软件,Sketch简直就是为移动平台量身定做的。打开Sketch,然后在右侧选择新建一个DeskTop HD,主页面有点像我们的Xcode,中间是画布,右侧是检查器。可以原创 2015-06-19 16:33:56 · 1621 阅读 · 0 评论 -
swift语言IOS8开发战记24 解析Json
在IOS中使用NSURLConnection实现http通信,NSURLConnection提供了异步和同步两种通信方式,同步请求会造成进程阻塞,通常我们使用异步的方式,不管同步还是异步,建立通信的基本步骤都是一样的:1,创建NSURL2,创建Request对象3,创建NSURLConnection连接第3步结束后就建立了一个http连接。这里我们用一个开放的api做例子:原创 2015-06-15 14:54:54 · 1608 阅读 · 0 评论 -
使用Swift模拟Window-LFU
今天参加了阿里2015的校招的机试,大题开放题比较多,有一道大题是Window-LFU比较有意思,当时题目搞了半天没搞明白让干啥- -题目大概是这样的:实现一个Window-LFU缓存(其实就是用数组去缓存,当时差点用NSCache去做),要在API中暴露set、get、remove方法,并且可以指定cache的长度和window的大小。我用Swift实现的,当时做的时候时间比较紧没有做的太完整,原创 2015-08-23 16:44:02 · 1846 阅读 · 2 评论 -
swift语言IOS8开发战记5.使用纯代码的方式实现tableViewCell
storyboad的拖拽关联给我们开发带来了很大的便利,但是在目前的很多公司进行IOS开发时是禁止员工使用storyboard的,纯代码的实现方式仍然是主流,对于Swift这样一门新兴语言,加强语言的使用,使用纯代码来实现,不仅迎合了目前公司的用人要求,也更有利于我们深入理解Swift语法。本话不会有什么新的功能展示,主要目的是用纯代码来实现之前的tableviewcell。首先要做的第一步就原创 2015-01-02 11:43:58 · 9455 阅读 · 1 评论 -
swift语言IOS8开发战记3.tableViewCell
接着第二话的tableview来说,设计tableview的cell。tableview的datasource是UItableViewDataSource,代理方法是不是UItableView,而是用tableView,方法很多,我们选取我们需要的。使用第二话的代码,下面来试一下改变行的高度。使用代理方法如下:func tableView(tableView: UITableView, h原创 2015-01-01 17:20:28 · 8549 阅读 · 1 评论 -
swift语言IOS8开发战记2.tableview
上一章简单介绍了Swift写的button和alert,今天来学习一下tableview的用法。tableview看字面就知道,是列表组件。新建一个名为tableview的single view,步骤不罗嗦了。拖拽创建一个tableview,然后添加一个cell,prototype cells设为1,可以看到table中有一个cell。如图所示:然后我们在代码中添加代码,想要在tabl原创 2014-12-31 17:09:01 · 8758 阅读 · 4 评论 -
Swift开发笔记4.协议Protocal
Swift中的协议就是我们通常所说的接口,它连接了软件和软件模块,非常重要。首先定义一个协议:protocol CgProtocol { }协议也有基协议:protocol CgProtocol : NSObjectProtocol { }协议是可以多继承的。现在写一个协议方法,协议方法必须实现。比如我们写一个比较的方法protocol CgProto原创 2015-01-06 15:57:36 · 5481 阅读 · 0 评论 -
Swift语言IOS8开发战记9.transfer data without stroyboard
上一话我们实现了通过导航和控制器进行页面间的跳转,但是后一个页面是空的,本话来实现在跳转的同时,前一个页面向后一个页面传值,相信这也是大家什么关注的问题。首先我们来试一下跳转后的页面显示一张固定的图片。在我们上一话写的跳转后的页面控制器中DetaiViewController中先设一个全局变量cgImageView来显示图片,实例化的过程写到viewDidLoad方法中,我们挑了一张图片来显示,代原创 2015-01-08 09:52:41 · 7884 阅读 · 0 评论 -
swift语言IOS8开发战记12 Font Of Label
上一章我们实现了对Navigation的格式以及跳转后页面的tableView的设置,但是Cell的显示有一些需要注意的格式问题,比如如果我们要显示的文字过长,之前的做法没有设置,所以多余的文字会被省略掉,还有cell的字体是默认的,我们如何设置字体的格式,也就是font的设置。为了演示效果,我们去DataArray中把第一行数据的location的值改的很长,运行后的效果就变成下面的样子了:原创 2015-01-10 16:58:22 · 23202 阅读 · 0 评论 -
Swift语言IOS8开发战记10.Data Model
上一话中实现了两个控制器间的传值,最终效果如图:这是我们的主页面:在ViewController中我们主页显示的内容是放到不同的数组中的:var restaurantNames = ["cg1","cg2","cg3","cg4","cg5","cg6","cg7","cg8","cg9","cg10","cg11"] var restaurantImages原创 2015-01-09 10:42:56 · 8911 阅读 · 0 评论 -
swift语言IOS8开发战记11 Set NavigationController
上一话我们把ViewController类中的信息用Model来展示,那么新一话我们来尝试页面间传值。首先来回顾一下我们现在工程里类的结构,如图:之前的做法是主页面点击每一行在新打开的页面中显示一个小黄人的表情和一个自定义的tableView.现在我们修改一下跳转页面的控制器,也就是DetailViewController这个类,上一话中我们创建了一个名为RestModel,现在我们要原创 2015-01-09 16:26:39 · 12105 阅读 · 3 评论 -
swift语言IOS8开发战记13 Review Controller
前几话我们在程序中增加了一个顶部的导航栏,今天我们想要在底部增加一些功能,增加一个share和一个review的按钮。在DetailViewController中增加一个toolBar用来放置功能按钮,设置两个全局变量,表示功能栏的宽和高:let tooBarHeight:CGFloat = 44let tooBarWidth:CGFloat = 320然后在viewDidLoad方法原创 2015-01-11 16:48:39 · 1059 阅读 · 0 评论 -
swift语言IOS8开发战记14 UIView Animation
这一话我们来增加一些动画效果,首先在上一话的基础上,我们想把我们的评价部分放到一个单独的view中,如下图中的红框部分建立一个全局变量transforView,定义为UIView类型,然后再viewDidLoad中初始化://transferView transforView = UIView(frame: CGRectMake(0, 100, 320, 200))原创 2015-01-12 11:17:52 · 12731 阅读 · 1 评论 -
swift语言IOS8开发战记15 Animation Delay
前几话我们实现了Review按钮的功能,今天来实现Share按钮的功能,由于两个功能的相似性,所以新建一个控制器,ShareViewController类,把ReviewViewController类的代码复制过去进行修改,share中不需要transforView和label,删掉,然后把按钮改成四个放到基view中,代码如下:let buttonWidth:CGFloat = 60原创 2015-01-13 10:36:10 · 12248 阅读 · 0 评论 -
swift语言IOS8开发战记16 Protocol and Map
接着之前的内容来讲,我们在每个店铺的location后面增加一个地图定位功能,需要把label的尺寸也调节一下,调整后的DetailViewCell代码如下:import UIKitclass DetailTableViewCell: UITableViewCell { var keyLabel: UILabel! var valueLabel: UILabel!原创 2015-01-13 16:23:05 · 12176 阅读 · 0 评论 -
swift语言IOS8开发战记17 MKTableView
上一话中地图没能显示,我发现关了Xcode之后一段时间莫名其妙就可以用了,所以有真机还是要用真机调试啊,点开Map按钮,显示如下:我们想要地图实际起作用,即点击相应餐厅的Map后显示的是餐馆的地理信息,现在要把cell的location信息传给MapViewController,我们在MapViewController中创建存储属性好计算属性用来传值。代码如下:import UIK原创 2015-01-16 10:30:27 · 12274 阅读 · 4 评论 -
swift语言IOS8开发战记19 UIImagePickerController
我们接着上一话的内容来讲,首先在我们添加一个餐馆的页面中把点击的背景色取消掉使用的是以下语句:cell.selectionStyle = UITableViewCellSelectionStyle.None除了none之外,还有许多颜色的选项,大家可以自己试试。然后我们需要点击小相机的图片能打开我们的相册让我们选择图片,我们在选择的代理方法中增加一个我们自己定义的方法,代码如下:fun原创 2015-01-18 20:16:43 · 17156 阅读 · 0 评论 -
Swift开发笔记1.《Swift开发指南》计算器实战项目的相关心得
本人是个IOS开发新手,之前没有接触过Objective-C语言,直接从最新的Swift语言学起,进行IOS8的学习开发。由于Swift语言是一门全新的语言,网上的资料很少,遇到问题百度搜到的也全是英文页面。通过一段时间的学习,我基本掌握了Swift的语法,坚持使用Swift进行IOS8的开发对我们提升自己的Swift编程能力很有帮助。相信很多人学习Swift语言都选择了《Swift开发指南》这本原创 2014-12-29 14:47:44 · 6313 阅读 · 5 评论 -
Swift语言IOS8开发战记1.Button与Alert
大家好,本人是个Swift开发的推崇者,自Swift推出以来,关于Swift语法的书籍像雨后春笋般冒了出来,但是市面上没有一本整合Swift与IOS8开发的书籍,为广大使用Swift开发IOS8的程序员来说带来了不小的难度。吐槽一下,那个所谓的OC与Swift双语讲解的《IOS8开发指南》挂羊头卖狗肉,真心不推荐,对于我这种没接触过OC,只会用Swift的人来说快要看哭了。 如果大家原创 2014-12-31 15:43:14 · 9051 阅读 · 2 评论 -
swift语言IOS8开发战记18 NavigationItem
上一话中我们设置了地图定位,最后把地图定位界面改成了导航栏呈现,导航栏的返回按钮我们想要改成没有字体的形式,修改导航栏的按钮样式要回到上一个页面中,所以我们在DetailViewController的viewDidLoad方法中加上如下代码: self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .P原创 2015-01-17 21:24:24 · 12741 阅读 · 3 评论 -
写在新书《Swift开发手册:技巧与实战》出版之际
1月份的时候新书出版了,正值研究生毕业之际,想写点什么又无法抵抗毕业浮躁的心态,所以推到了正式入职之后。首先当然还是想安利一波,新书封面见如下: 2014年年底因为跟同学组队参加竞赛的关系,踏入了iOS这个全新的领域,在传统的OC和新晋的Swift之间,我选择了Swift,很幸运,现在看起来这门全新的语言发展的还不错。竞赛之后,因为兴趣使然我开始在优快云上写博客,一边摸索一边分享原创 2016-03-04 00:06:22 · 2755 阅读 · 19 评论