因为最近事情比较多,有一段时间没有发表博客了。前一段时间,利用空余时间翻译了一本关于Swif的书籍,过一段时间就会出版吧。通过翻译此书,英语水平没提高多少,不过Swift算是系统的学习了一下。

  在翻译此书的时候,被Swift语言的优雅所迷住。感觉Swift是iOS开发的未来,Swift保留了Objective-C的优点,除此之外还引入了好多好多Objective-C中没有的新特性,比如运算符重载,泛型,闭包等等,一些现代编程语言中比较好用的特性。同时Swift中不允许使用隐式类型转换,这样是类型更为安全。Swift也引入了抽象类,抽象函数,可选数据类型等等。

  在今天的博客中就不涉及具体的技术内容了,大体的聊一下Swift语言的内容,和学习Swift语言的一些方法。在翻译Swift书籍的时候,书上的代码也是每行都敲一遍,并且观察运行结果。然后考虑,在原来的代码上做一些修改,在观察运行效果。关于运行效果,Xcode6.1中有一个好用的工具---Playground。当使用Playground的时候,被它人性化的涉及所吸引,在以后的博客中会详细介绍关于Playground的内容。

  今天就先做个计划,声明一下。在接下来发表的博客中,大部分是关于Swift语言的内容。当然也是系统的,从简单到复杂的。还是那句话,写博客是为了分享和交流技术知识,同时在博客园上认识了不少好友。在之前发表过我的Objective-C系列文章和坚持写博客的感想 和 我的iOS开发系列博文, 在接下来的博客中将会继续发表有关Swift的博文(当然是原创博客了,不是从书生搬下来的东西,而是自己学习Swift所总结的内容)。

  在学习一门新的语言的时候,Code是少不了的,一定要多敲代码,多思考,这样才能理解的更深,基础才会更为牢固。今天的博客就做个引子吧。在这非常感谢一直关注我的园友们,希望大家能多多交流,相互学习。

  不扯了,来点干货,下面粗略的总结了Swift中的新特性:

    1.泛型

      Swift中提供了泛型,泛型提高了你代码的可重用性。如果你之前学过C++的话,和模板用法一致,泛型在OOP中经常使用。

    2.抽象类以及抽象方法

      在Swift中可以使用private修饰init关键字来创建抽象类,因为构造器为私有的,所以该类不可以被实例化。通过asser()来创建抽象方法,具体的asser()如何使用,将会在后期的博客中使用。

    3.闭包

      Swift中的闭包,其实就是OC中的Block,不过定义方式稍微不同。

    4.可选类型--?

      Swift是类型安全的,通过?符号来创建可选类型的变量,简单的说可选变量可能为空,使用!打开可选值,使用!打开的可选值确定其值不为空

    5.Swift中的访问控制

      private,internal,public, 默认为internal,具体用法会再以后的博客中介绍。

  春节已经过去了,那么就祝大家天天快乐,喜气洋洋,三阳开泰,羊年大吉。

近期博客内容的规划(关于Swift语言)的更多相关文章

  1. 一个基于Vue.js+Mongodb+Node.js的博客内容管理系统

    这个项目最初其实是fork别人的项目.当初想接触下mongodb数据库,找个例子学习下,后来改着改着就面目全非了.后台和数据库重构,前端增加了登录注册功能,仅保留了博客设置页面,但是也优化了. 一.功 ...

  2. Scrapy爬取自己的博客内容

    python中常用的写爬虫的库有urllib2.requests,对于大多数比较简单的场景或者以学习为目的,可以用这两个库实现.这里有一篇我之前写过的用urllib2+BeautifulSoup做的一 ...

  3. CSDN博客导出工具 Mac By Swift

    写这篇文章的主要目的是了解Swift语言本身,如何以及Objc和第三方交互框架 必须先用CSDN帐户登录.您可以导出所有的博客文章,加入YAML当首标信息,包括对应标签和分类在头制品信息,和底座式(原 ...

  4. 以前的博客内容迁至CSDN,博客名不变,以后博客将在两个平台同步更新

    为了更好的利用博客园和csdn这两个博客家园,今天把博客园中的内容迁至csdn,博客名称还是使用cooldream2009,以后的文章将同步在博客园和csdn发表,特此声明.

  5. Django学习案例一(blog):六. 开发博客内容页面

    目标:某条博客具体内容的展示,可返回博客主页面,可进行评论. 1. 编辑路由 一篇博客,要将其找出来,就需要有一个唯一的标识.Django 的模型中默认有一个唯一的且未自增长的主键,即 id 字段.我 ...

  6. WordPress教程之如何创建博客内容

    上两篇教程的链接: Wordpress教程之初识WordPress Wordpress教程之如何入门WordPress Hostwinds共享主机vps限时五折优惠链接 现在,你的 WordPress ...

  7. 使用git ftp发布我个人的hexo博客内容

    自己虚拟主机中的博客是由hexo3 + next主题,因为我想将 hexo 编译生成的文件可以通过ftp命令发布到ftp服务器上面. 发布使用的工具是git-ftp: 按照Use Jenkins an ...

  8. 如何将博客内容输出到pdf

    可以按照三类网页插件:Clearly,Instapaper 和 Readability,实际安装发现,第一个装不上,只有最后一个好用.在firefox或者chrom浏览器装好后,右键switch to ...

  9. 尝试用md编辑器写博客, 内容为 jupyter笔记

    Matplotlib tutorial http://www.labri.fr/perso/nrougier/teaching/matplotlib/#introduction %matplotlib ...

随机推荐

  1. 无法加载 DLL“SQLite.Interop.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)

    SQLite部署-无法加载 DLL“SQLite.Interop.dll”: 找不到指定的模块 近期刚使用SQLite,主要引用的是System.Data.SQLite.dll这个dll,在部署到测试 ...

  2. A library of generic data structures

    A library of generic data structures including a list, array, hashtable, deque etc.. https://github. ...

  3. mssql查询列名中包含特定字段的列

    CREATE TABLE itemdata_LANG ( itemno ) NOT NULL, itemname ), -- 产品名称 othername ), indications ), -- 适 ...

  4. Linux下Nano命令使用指南

    1.什么时候用nano? 一般网络很卡,ssh时一用vim/vi 就死窗口,或者死机的情况 2.如何使用?   打开或新建文件 #nano 文件名    禁用自动换行 #nano -w /etc/fs ...

  5. Ambari组件黄色预警

    Ambari组件黄色预警 组件上为黄色问号,代表心跳丢失,解决如下: 1.  查看个节点之间是否可以相互通信,若ssh连接不上,有可能是该节点关机了,没有打开,手动开启该节点,再次验证是否可互通. 2 ...

  6. CentOS安装配置redis

    安装前准备,安装gcc 先用 gcc -v命令检测本机是否安装gcc,如果没有则用下面命令安装: yum install cpp yum install binutils yum install gl ...

  7. 解决overflow:hidden在安卓微信页面没有效果的办法

    在做h5移动端时候,发现overflow: hidden;在安卓微信页面失效问题,经研究和实验,用第三种方法和第四种方法可以解决! 1.完全隐藏 在<boby>里加入scroll=&quo ...

  8. SQL 存储过程 传入数组参数

    今天在做统计数据的时候,传入数组导致数据不显示.解决方式和大家分享一下: --参数@CompanyName='北京,天津,上海' DECLARE @PointerPrev int     DECLAR ...

  9. DataTable转List(备忘)

    public static List ToList(DataTable dt) { List<Dictionary<string, object>> list = new Li ...

  10. 成为OpenStack工程师

    OpenStack Hacker 态度:开放.主动.沟通 影响力:能说.能写.能分享 四化:自动化.流程化.系统化.文档化 0级 掌握一些基本技能:python.c.linux.git.unittes ...