新聞中心
本文轉載自公眾號“讀芯術”(ID:AI_Discovery)

創(chuàng)新互聯(lián)公司制作網(wǎng)站網(wǎng)頁找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁設計,網(wǎng)站建設、成都網(wǎng)站建設,網(wǎng)站設計,企業(yè)網(wǎng)站搭建,網(wǎng)站開發(fā),建網(wǎng)站業(yè)務,680元做網(wǎng)站,已為近1000家服務,創(chuàng)新互聯(lián)公司網(wǎng)站建設將一如既往的為我們的客戶提供最優(yōu)質的網(wǎng)站建設、網(wǎng)絡營銷推廣服務!
Swift運算符中的~=算不上出名,很多人并不清楚它是做什么的,該如何運用。簡而言之,使用這個運算符,可以查看一個范圍是否包含某個值。
本文將通過一些例子,帶你了解這個運算符的用處和用法。開始吧!
考慮這樣一種常見情況:在沒有遇到任何錯誤的情況下,要啟動網(wǎng)絡請求并打出數(shù)據(jù),因此要創(chuàng)建一個URLSessionDataTask,如下所示:
- let task = URLSession.shared.dataTask(with: URL(string: "https://google.com")!) { (data,response, error) in
- guardlet datadata = data,
- let responseresponse = response as? HTTPURLResponse, (200..<300) ~=response.statusCode else {
- iflet errorerror = error {
- print(error)
- } else {
- print("Somethingwent wrong")
- }
- return
- }
- print("Received data: \(data)")
- }
上述代碼中就使用了~=,以檢查狀態(tài)碼整數(shù)值是否在200到300之間(不包括兩極),如果是,則結果是成功的。否則,將輸出一條錯誤消息。
更改print語句并啟動任務,實際上會得到有效響應,狀態(tài)碼是200:
- let task = URLSession.shared.dataTask(with: URL(string: "https://google.com")!) { (data,response, error) in
- guardlet datadata = data,
- let responseresponse = response as? HTTPURLResponse, (200..<300) ~=response.statusCode else {
- iflet errorerror = error {
- print(error)
- } else {
- print("Somethingwent wrong")
- }
- return
- }
- print("Received data: \(data), status code: \(response.statusCode)")
- }
- task.resume()
代碼在一個Xcode Playground中運行
再來看看另一個在后臺使用~=運算符的例子。假設有一個簡單的Coordinate結構并將其實例化:
- structCoordinate {
- let value: (latitude:CLLocationDegrees, longitude: CLLocationDegrees)
- }
- let coordinate =Coordinate(
- value: (
- latitude: 40.7128,
- longitude: 74.0060
- )
- )
使用switch語句,查看這個坐標是否在紐約市的坐標范圍內(nèi)(該實例被簡化):
- switch coordinate.value {
- case (40...41, 73...76):
- print("Hmm... seems like we found NewYork City")
- default:
- print("Unknown coordinates")
- }
指定緯度值和經(jīng)度值的范圍。在后臺,~=運算符使用==運算符將范圍內(nèi)的每個值與coordinate的值進行比較:
Swift鮮為人知的特性還有很多,比如值綁定模式、vDSP框架、CustomStringConvertible協(xié)議、類和靜態(tài)的區(qū)別等等。這些概念你都明白嘛?如果不了解的話,趕快去查漏補缺吧。
分享題目:Swift鮮為人知的特性:~=運算符是什么?
網(wǎng)站URL:http://www.fisionsoft.com.cn/article/djoijje.html


咨詢
建站咨詢
