美文网首页
swift基本写法总结(一)

swift基本写法总结(一)

作者: 杨大虾 | 来源:发表于2017-06-12 00:13 被阅读30次

首先很关键的两个点:

一,调用方法统一用点语法

二,创建对象统一用小括号的形式,比如:CGRect,再比如

let view :UIView = UIView()

3.优先用常量(let),即使是用let定义的对象,其属性还是可以更改地,(可以想象成一个人,但是衣服是可以改变滴)

3.1 swift偏向于把前缀等多余的命名给去掉

4.字符串直接双引号

let str = "I am  a little String"

5.枚举可以直接用点语法,比如:

btn.setTitle("按钮",for:.normal)

6.额外ps:有一个很好的练习工具:playground貌似从xcode6开始就有的,之前没留意

7.基本类型的首字母要大写,比如

Int  Bool  Double

8.类型推导(即“类型省略”),个人不建议用,理由:阅读性不强,容易出错,不过,确实有所简便。

9.打印:print代替NSLog

10.通过option + 鼠标左键来查看标识符的类型,之前也有,只是强调一下。

11.swift中进行基本运算,必须保证类型一致,否则会出错。理由:swift中没有隐式转换。(这就比oc麻烦了),

let a = 10
let b = 10.3
var c = Double(a) + b
//但是Int(b)这样的话,会变成10,会不准,注意了

12.if(没有非0(nil)即真(这就比oc差点了),并且是用true/false的

13.oc中的方法中的参数是没有用小括号括起来的,但是swift有,貌似swift想用小括号来统一,

14.额外强调一下,if中有if的这种写法,可读性是非常差的

15.guard语法,翻译过来有“守卫”的意思,顾名思义,其写法之一:

func online(age:Int){

guard 判断句 else{
     print("")
    return
     }
   print("")
}
//有层层“守卫”的意思,写法上比if可读性强

16.switch与oc的区别:

 1.其后面的()小括号可以省略
2.case语句结束时可以不加break
3.switch的case可以判断多个条件:case 0,1:
4.除整型外,还可以判断浮点型,字符串,区间

17.区间类型:

如果是0到9,只有,
0..<10或者0...9这两种写法,没有-1<..<10这种写法

18.for语法只支持区间遍历
如:

for i in 0..<10{
}

19.swift开发中,如果一个变量或者常量暂时不用,可以用_下划线来代替(对性能好),

for _ in 0..<10{
}

20.swift不支持i++或者i--
只能这样写:i+= 1 或者i -=1

21.string是一个结构体,性能更高,
NSString是一个oc的对象,性能略差
string支持直接遍历
swift提供String和NSString的无缝转换

22.取字符串的长度与oc不同,:str.characters.count

23.字符串的拼接:

1.一般的话,直接加号:str + str2
2.与非字符串的拼接 \(标识符),但是这种只是非常简便的拼接
3.格式转换的拼接
let  min = 3
let second = 12
let timeStr = string(format:"%02d:%02d",min,second)
02d的意思是不足两位的用0补齐

24.字符串的截取

let urlString = "I am a little string"

方式一:
//将String 类型转成NSString类型,再进行截取:as NSString
let header1 = (urlString as NSString).substring(to:3)
let range1 = NSMakeRange(4,5)
let middle1 = (urlString as NSString).substring(with:range1)
let footer1 = (urlString as NSString).substring(from:10)

//其实就是对to, with,from这几个关键词的应用

方式二:
//直接使用String类型方法,进行截取
let headerIndex = urlString.index(urlString.startIndex,offsetBy:3)
let header2 = urlString.substring(to:headerIndex)

let startIndex = urlString.index(urlString.startIndex,offsetBy:4)
let endIndex = urlString.index(urlString.startIndex,offsetBy:9)
let range = Range(startIndex..<endIndex)
let middle2 = urlString.substring(with:range)

let footerIndex = urlString.index(urlString.endIndex,offsetBy:-3)  //-3的意思是从末尾开始数
let footer2 = urlString.substring(from:footerIndex)

相关文章

网友评论

      本文标题:swift基本写法总结(一)

      本文链接:https://www.haomeiwen.com/subject/yrukqxtx.html