日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Swift鮮為人知的特性:~=運(yùn)算符是什么?

本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)

創(chuàng)新互聯(lián)公司制作網(wǎng)站網(wǎng)頁找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁設(shè)計,網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè),網(wǎng)站設(shè)計,企業(yè)網(wǎng)站搭建,網(wǎng)站開發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為近1000家服務(wù),創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷推廣服務(wù)!

Swift運(yùn)算符中的~=算不上出名,很多人并不清楚它是做什么的,該如何運(yùn)用。簡而言之,使用這個運(yùn)算符,可以查看一個范圍是否包含某個值。

本文將通過一些例子,帶你了解這個運(yùn)算符的用處和用法。開始吧!

考慮這樣一種常見情況:在沒有遇到任何錯誤的情況下,要啟動網(wǎng)絡(luò)請求并打出數(shù)據(jù),因此要創(chuàng)建一個URLSessionDataTask,如下所示:

 
 
 
  1. let task = URLSession.shared.dataTask(with: URL(string: "https://google.com")!) { (data,response, error) in
  2.                                   guardlet datadata = data,
  3.                                       let responseresponse = response as? HTTPURLResponse, (200..<300) ~=response.statusCode else {
  4.                                           iflet errorerror = error {
  5.                                             print(error)
  6.                                           } else {
  7.                                              print("Somethingwent wrong")
  8.                                           }
  9.                                           return
  10.                                   }
  11.                                         print("Received data: \(data)")
  12.                               }

上述代碼中就使用了~=,以檢查狀態(tài)碼整數(shù)值是否在200到300之間(不包括兩極),如果是,則結(jié)果是成功的。否則,將輸出一條錯誤消息。

更改print語句并啟動任務(wù),實(shí)際上會得到有效響應(yīng),狀態(tài)碼是200:

 
 
 
  1. let task = URLSession.shared.dataTask(with: URL(string: "https://google.com")!) { (data,response, error) in
  2.                                  guardlet datadata = data,
  3.                                       let responseresponse = response as? HTTPURLResponse, (200..<300) ~=response.statusCode else {
  4.                                           iflet errorerror = error {
  5.                                             print(error)
  6.                                           } else {
  7.                                              print("Somethingwent wrong")
  8.                                           }
  9.                                           return
  10.                                   }
  11.                                         print("Received data: \(data), status code: \(response.statusCode)")
  12.                               }
  13.              task.resume()

代碼在一個Xcode Playground中運(yùn)行

再來看看另一個在后臺使用~=運(yùn)算符的例子。假設(shè)有一個簡單的Coordinate結(jié)構(gòu)并將其實(shí)例化:

 
 
 
  1. structCoordinate {
  2.               let value: (latitude:CLLocationDegrees, longitude: CLLocationDegrees)
  3.           }
  4.              let coordinate =Coordinate(
  5.               value: (
  6.                   latitude: 40.7128,
  7.                   longitude: 74.0060
  8.               )
  9.           )

使用switch語句,查看這個坐標(biāo)是否在紐約市的坐標(biāo)范圍內(nèi)(該實(shí)例被簡化):

 
 
 
  1. switch coordinate.value {
  2.                case (40...41, 73...76):
  3.                    print("Hmm... seems like we found NewYork City")
  4.                default:
  5.                    print("Unknown coordinates")
  6.                }

指定緯度值和經(jīng)度值的范圍。在后臺,~=運(yùn)算符使用==運(yùn)算符將范圍內(nèi)的每個值與coordinate的值進(jìn)行比較:

Swift鮮為人知的特性還有很多,比如值綁定模式、vDSP框架、CustomStringConvertible協(xié)議、類和靜態(tài)的區(qū)別等等。這些概念你都明白嘛?如果不了解的話,趕快去查漏補(bǔ)缺吧。


網(wǎng)站標(biāo)題:Swift鮮為人知的特性:~=運(yùn)算符是什么?
URL地址:http://m.5511xx.com/article/djoijje.html