Swift Review总结:从 Swift Style 开始
每个语言都有自己的推荐风格。显然OC与Swift有着不同的风格。当我们开始写Swift,首先要注意的就是按照Swift的风格写,而不是沿用OC的风格。
省略句末的分号
swift推崇简洁的语法。如果一行里只有一句代码,句末不要写分号。
省略self.
不在闭包里的时候调用自身的属性或者方式时省略self.。这点社区也产生过讨论,有人建议需要强制的声明self.,但是苹果大声的拒绝了。所以让代码更简洁一点吧。
注意类型标注的格式
当我们给一个变量或者属性标注类型时的语法是这样的:
注意冒号后面有一个空格,如果是字典key的冒号后面有一个空格。
冒号后面紧跟着类型是不规范的写法。
当然你可以利用SwiftLint帮你检查。
注意函数声明背后的空格
一个标准的函数语法是这样的:
注意函数实现 { 前有一个空格
二元操作符前后有空格
闭包、函数实现不要写在一行里
对象初始化不要显式调用init
通过()直接就是调用对象的初始化方法,不需要调用init
函数命名
oc的第一个参数名是省略的,所以会把第一个参数名带到方法名上。swift 3以后调整为在调用时第一个参数名会展示。所以函数命名时不要把第一个参数相关命名放在函数名上。
然而这里直接把介词去掉显得更加简洁:
相关链接:
swift style guide
Swift Review总结:从 Swift Style 开始的更多相关文章
- Swift 3.0 【Swift 3.0 相较于 Swift 2.2 的变化】
一.编译器和语法变化 函数或方法参数 调用函数或方法时从第一个参数开始就必须指定参数名 在Swift的历史版本中出现过在调用函数时不需要指定任何函数参数(或者从第二个参数开始指定参数名),在调用方法时 ...
- Swift开发学习-01 Swift介绍
本教程是笔者在自学IOS/Swift知识的总结,适用于通过对Objictive C编程的运用并需要了解基于iOS程序的iPhone和iPad的程序员.做一个有bigger的’攻城狮‘,有尊严的工作,快 ...
- Swift翻译之-关于Swift
IMPORTANT 重要的 This is a preliminary document for an API or technology in development. Apple is suppl ...
- iOS8开发~Swift(五)Swift与OC混编
一.概要 首先看<The Swift Programming Language>中提到"Swift's compatibility with Objective-C lets y ...
- Swift Review总结一:从 Swift Style 开始
最近凑了几个热心的小伙伴写一些Swift的新手demo(两周后应该能和大家见面了),我参与了review.于是借demo里的代码总结一下新手写Swift要注意的问题,尤其是从oc转到用swift写的开 ...
- 3.Swift翻译教程系列——Swift基础知识
英语PDF下载链接http://download.csdn.net/detail/tsingheng/7480427 Swift是用来开发iOS和OS X应用的新语言,可是很多地方用起来跟C或者OC是 ...
- iOS开发笔记(Swift)-针对Swift调用PPiFlatSegmentedControl项目的一些修改
PPiFlatSegmentedControl项目是一个很流行的开源iOS控件库,提供了扁平化风格(Flat style)的SegmentedControl,可以自定义segment的颜色,图标.大小 ...
- 5.Swift教程翻译系列——Swift字符串和字符
英文版PDF下载地址http://download.csdn.net/detail/tsingheng/7480427 字符串是一组字符的有序序列,比方"hello,china"或 ...
- swift 项目 oc 和 swift 混用,文件相互引用
创建swift工程后,如果后面想新建 oc 文件,这时会生成一个 AppName-Bridging-Header.h文件 一,在swift 文件中 1> 引用swift 文件 什么都不需要操作 ...
随机推荐
- oracle11.2中分区功能测试之add&split partition对global&local index的影响
生产库中某些大表的分区异常,需要对现有表进行在线操作,以添加丢失分区,因为是生产库,还是谨慎点好,今天有空,针对add&split分区对global&local索引的影响进行了测试,测 ...
- js将一个数组插入另一个数组
var cont =[1,2,3,4]; var res =[4,5,6] for(var i=0;i<res;i++){ cont.push( res.data.list[i]); } con ...
- [LeetCode] String Compression 字符串压缩
Given an array of characters, compress it in-place. The length after compression must always be smal ...
- [LeetCode] 1-bit and 2-bit Characters 一位和两位字符
We have two special characters. The first character can be represented by one bit 0. The second char ...
- 视觉slam学习之路(一)看高翔十四讲所遇到的问题
目前实验室做机器人,主要分三个方向,定位导航,建图,图像识别,之前做的也是做了下Qt上位机,后面又弄红外识别,因为这学期上课也没怎么花时间在项目,然后导师让我们确定一个方向来,便于以后发论文什么. ...
- 6.QT-简易计算器实现(详解)
界面展示 1.用户界面类设计 需要使用QWidget组件作为顶层窗口,QLineEdit组件作为输入框,QPsuhButton作为按钮 1.1 在代码里处理按键消息时,需要处理下用户输入的格式(方便逻 ...
- [USACO 03FEB]Farm Tour
Description When FJ's friends visit him on the farm, he likes to show them around. His farm comprise ...
- 习题10-1 UVA 11040(无聊水一水)
题意: 给你一个残缺的塔,每个数字由他下面左右两个数相加得.给你其中一部分,要求输出全部的数字. #include <iostream> #include <cstdio> # ...
- hdu5569 BestCoder Round #63 (div.2)
题意: 给你一个矩阵,要求从左上角走到右下角,走个的费用:a[1]*a[2] + a[3]*a[4] + ......+ a[2n-1]*a[2n] 思路: 果然不机智,自己把自己套路了 对于每个奇数 ...
- [luoguP3729]曼哈顿计划EX
来自FallDream的博客,未经允许,请勿转载,谢谢. 艾登拥有一个计算机网络,每一台计算机都至少有着Intel Xeon E50 v40 + 40路GTX10800Titan的恐怖配置,并由无线网 ...