美文网首页
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