麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Swift語法總結補充(一)

2019-11-14 18:44:35
字體:
來源:轉載
供稿:網友

 

Swift基礎語法學習總結
Swift高級語法學習總結
Swift語法總結補充(一)

 

 

1. 可選類型是一種類型,String?就是Optional<String>,所以函數參數也可以聲明為它
2. a??b??c 如果a有值返回a,a為nil返回b,b也也為nil,前面的整體結果就是nil返回c.條件是??前面的都必須是optional的,??后面的類型必須和??前面的一致,結果等價于三目運算符a!=nil?a!:b
3. 遵從GeneratorType協議的對象有一個next方法可以用來遍歷,你可以自定義generator遵循generatorType協議,自己就可以根據這個方法做循環,你在next方法中寫好遍歷的順序就好.
4. 遵從SequenceType協議的對象可以用for in來循環,每個SequenceType對象里面包含對應著一個generator,也可以獲取generator后做while循環,也可以直接寫for in循環,for in出來每項的值就是generator中next方法的返回值
5. 區間運算符...和..<其實是Range<T>類型的對象,這個對象有一個generate方法,返回的是RangeGenerator<T>類型結構體,它遵循GeneratorType協議,所以...和..< 也能做for in 循環
6. 數組過濾方法可以用閉包,如:oldArray.filter{ $0 > 30 },數組還有個根據數組值計算的的方法,oldArray.reduce(1,combine: {$0 + $1}) 結果就是1和數組中的每個元素相加
7. Int和string都有map方法,someName.map{name in "Hello,/(name)"}??"Hello world!" name是個可選類型,你不需要做可選綁定,如fil果name是nil,這個map方法返回的值也是nil
8. 函數的柯里化就是多參函數變成一個參數調用的返回值是函數,再調用的這個函數傳入第二個參數,這中間得到的函數叫外部這個函數的偏函數,函數柯里化只需要把函數的多個參數分別寫在不同的括號里就可以了
9. 在類命名訪問成員方法,得到的是一個可以函數柯里化的函數,第一個參數是類對應的對象,后面的參數就是這個函數應該有的參數
10. swift的枚舉可以有相關值(就是傳參),有相關值的兩個枚舉值不能用==比較,需要自己重載==運算符,而普通的枚舉是可以通過==比較的
11. 枚舉是可以有原始值的(默認值),可以是String,Character,Int,Float類型的,如果是Int后面的枚舉會遞增,通過rowValue可以獲取到原始值
12. 由于swift初始化方法的安全檢查太嚴格,在設置類似于數據源數組的時候可以用lazy 聲明,并用閉包返回值
13. Any表示任何類型除了方法類型,AnyObject表示任何class類型的實例
14. 在協議前加@objc表示協議可選,它只對class有效;在方法和屬性前加optional表示屬性和方法可選PRotocol<SomeProtocol,AnotherProtocol>就可以表示遵循這兩個協議的對象


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久激情小视频 | 欧美一级美国一级 | 日韩蜜桃视频 | 国产无限资源在线观看 | wwwxxx免费视频| 麻豆porn | 成人短视频在线播放 | 日韩视频在线观看免费视频 | 激情毛片 | 国产精品一区二区免费在线观看 | 99999久久久久久 | 911色_911色sss主站色播 | 亚洲成人在线视频网站 | 成人免费入口 | 国产1区2| 午夜视频在线免费观看 | 中国字幕av | 女教师~淫辱の动漫在线 | 99欧美视频| 黄色的视频免费观看 | 一级片999 | 动漫孕妇被羞羞视频 | 性aaa| www.国产一区.com | 成人福利在线观看 | 亚洲综人网 | 天使萌一区二区三区免费观看 | 黄色特级一级片 | 精品国产看高清国产毛片 | 国产精品久久久久久久久久妇女 | 日韩精品久久久久久久电影99爱 | 午夜国产在线 | 免费一级肉体全黄毛片 | 精品国产亚洲人成在线 | xxxeexxx性国产 | 国产精品久久久久久久久久 | 国产美女做爰免费视 | 毛片一级免费看 | 免费在线观看成年人视频 | 亚洲精品一区二区三区免 | xxxx8|