最近凑了几个热心的小伙伴写一些Swift的新手demo(两周后应该能和大家见面了),我参与了review。于是借demo里的代码总结一下新手写Swift要注意的问题,尤其是从oc转到用swift写的开发者。

  每个语言都有自己的推荐风格。显然OC与Swift有着不同的风格。当我们开始写Swift,首先要注意的就是按照Swift的风格写,而不是沿用OC的风格。

  省略句末的分号

  swift推崇简洁的语法。如果一行里只有一句代码,句末不要写分号。

  

  省略self.

  不在闭包里的时候调用自身的属性或者方式时省略self.。这点社区也产生过讨论,有人建议需要强制的声明self.,但是苹果大声的拒绝了。所以让代码更简洁一点吧。

  

  注意类型标注的格式

  当我们给一个变量或者属性标注类型时的语法是这样的:

  

  注意冒号后面有一个空格,如果是字典key的冒号后面有一个空格。

  冒号后面紧跟着类型是不规范的写法。

  

  当然你可以利用 SwiftLint 帮你检查。

  注意函数声明背后的空格

  一个标准的函数语法是这样的:

  

  注意函数实现 { 前有一个空格

  

  二元操作符前后有空格

  

  闭包、函数实现不要写在一行里

  

  对象初始化不要显式调用init

  通过()直接就是调用对象的初始化方法,不需要调用init

  

  函数命名

  oc的第一个参数名是省略的,所以会把第一个参数名带到方法名上。swift 3以后调整为在调用时第一个参数名会展示。所以函数命名时不要把第一个参数相关命名放在函数名上。

  

  然而这里直接把介词去掉显得更加简洁:

  

  来自:http://www.cocoachina.com/swift/20161201/18251.html

最新文章

  1. RedHat Linux RHEL6配置本地YUM源
  2. [WPF系列]基础学习(一) WPF是什么?
  3. json注入
  4. bootstrap学习总结-03 常用标签1
  5. ios 在ios9中 NSNotificationCenter addObserver 不会影响对象释放
  6. HFSS 边界条件
  7. 暑假集训(2)第三弹 ----- 食物链(poj1182)
  8. Jconsole: JAVA 监视和管理控制台简介
  9. linux/module.h: No such file or directory 内核模块编译过程
  10. CSS Hack代码与浏览兼容总结
  11. js手机号批量滚动抽奖代码实现
  12. 为mysql 表重新设置自增的主键id
  13. jQuery扩展easyui.datagrid,添加数据loading遮罩效果代码
  14. 用python爬取微博数据并生成词云
  15. Educational Codeforces Round 53 (Rated for Div. 2) E. Segment Sum (数位dp求和)
  16. POJ 3347 Kadj Squares (计算几何)
  17. 20164319 刘蕴哲 Exp4:恶意代码分析
  18. Csharp:Paging Sorting Searching In ASP.NET MVC 5
  19. 【读书笔记】iOS-移动开发
  20. Mysql 存储过程中使用多游标

热门文章

  1. 【error】 for i in range(len(shape)/2): TypeError: 'float' object cannot be interpreted as an integer
  2. iOS-导航栏全透明效果, 只保留左右两个按钮以及NavigationController返回几级页面
  3. Linux系统查看CPU使用率命令
  4. javascript一些实用的方法
  5. js 监听音频视频控件是否播放
  6. 第一次git到GitHub过程
  7. poj1410(判断线段和矩形是否相交)
  8. 小菜鸟之crond
  9. Beanutils.copyProperties( )用法及重写提高效率
  10. linux系统中启动mysql方式已经客户端如和连接mysql服务器