技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2023 iThome 鐵人賽
DAY
14
0
Mobile Development
依然無法成為釣魚大師也要努力摸魚!!辣個吃魚神器 APP 第二彈
系列 第
14
篇
【Day 14】 談 Swift 語法:Trailing closure 是什麼
15th鐵人賽
swift
釣魚術
trailing
closure
二坪山小弱砲
團隊
我在鐵人賽烙賽、也在外木山裸泳◑ω◐
2023-09-15 23:15:45
448 瀏覽
分享至
回顧
維護一個有歷史故事的專案,需要的是耐心和熱忱,每天從紅色的叉叉的錯誤中學習成長。
依然無法成為釣魚大師系列來到了
第14篇
,原本預計在前面幾天看看 Amplify 文件、解釋一下做了什麼設定,再開好資源,一切就可以順水推舟。
想像總是美好又不切實際,不出意外的話就出意外了!
其中
只更新了一次程式碼
,後來就不斷踩到地雷。所以還是不要搶快,來修問題...
問題說明
原本參考 Amplify v1 寫出來的幾個
Amplify.Auth 進行登入的函式
,在我升級完 Amplify 套件後,就莫名其妙的壞掉了 ...
錯誤訊息透露了是 “Extra trailing closure passed in call”
每個字分開看都看得懂⋯⋯
Trailing
是跟隨、跟屁蟲的意思。
我猜,他的意思是說,我多傳遞了一對跟隨閉包 ... 真的是這樣嗎?
關於
Trailing Closure
,手冊是這麼說的:
If you need to pass a closure expression to a function as the function’s final argument and the closure expression is long, it can be useful to write it as a trailing closure instead.
如果你需要傳遞
被{ }包起來的表示法
的東西 (簡稱叫
括包
好了),當作函式的最後一個參數,但是這個參數實在是太長了,他會讓你的程式碼不好被閱讀,那就可以用
Trailing Closure
(簡稱叫
跟屁蟲刈包
好了)、冗長的參數不好吞嚥、用跟屁蟲ㄍㄨㄚˋ包夾起來餵他!!
You write a trailing closure after the function call’s parentheses, even though the trailing closure is still an argument to the function.
你在函式呼叫的呼叫括號後方,寫一個
跟屁蟲刈包
,即使
刈包
仍然是該呼叫函式的其中一個參數。
When you use the trailing closure syntax, you don’t write the argument label for the first closure as part of the function call.
用
跟屁蟲刈包
的寫法沒有在囉唆的,不過,第一顆
跟屁蟲刈包
不能寫出參數的標籤。
A function call can include multiple trailing closures; however, the first few examples below use a single trailing closure.
一顆
跟屁蟲刈包
吃不飽可以吃兩顆,以下幾個範例只吃一顆。
上面截圖顯示,第一段是一個韓式如何被定義、第二和第三段則是兩種
餵參數
的寫法
在定義函式的寫法,小括號中,有參數的標籤,有冒號連接,然後是一個
箭頭函式
型態的參數
為中間那段,是帶有標籤的參數傳遞型態、後面接的大括號中,包夾了要做的事情。
在下面那段,則是
刈包
寫法,呼叫函式時,不指名參數名稱,後面尾隨的
刈包
,則是掛包裡面包的菜菜肉肉。
參考資料
The Swift Programming Language - Closures
Trailing Closure
留言
追蹤
檢舉
上一篇
【Day 13】 更新套件後、那個 Trailing closure 語法產生的問題探討
下一篇
【Day 15】 更新 Amplify v2 語法、整合 Async / Await
系列文
依然無法成為釣魚大師也要努力摸魚!!辣個吃魚神器 APP 第二彈
共
33
篇
目錄
RSS系列文
訂閱系列文
8
人訂閱
29
【Day 29】 降低傳輸成本的設計
30
【Day 30】 郵票計數器的問題
31
【Day 31】加入 Core ML
32
【Day 32】初探 AWS Amplify Predictions
33
【Day 33】沉底掉組
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22116
篇
完賽人數
594
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
網域切換的技術詢問
請問華碩分享器的系統紀錄這是在說明什麼
Mail server 資料不見
請問各位大神,有辦法更改家中的網路對外IP嗎 Orz
掃qr code圖示後是同時進入兩個網址
AD USER 多重登入問題
PDF簽章疑問
請問有 PDF 能一張一張翻譯加AI分析的方便工具嗎?
自家網站DNS連線逾時會載入很慢
请教两个问题(文字和手机
熱門回答
請問各位大神,有辦法更改家中的網路對外IP嗎 Orz
JS 是否可以匯入「.xls」
Exchange 刪除使用者 救回信件
自家網站DNS連線逾時會載入很慢
網路查詢指令應用
熱門文章
當了兩個月的轉職工程師是怎樣的感覺?
後 Grafana 時代的第三十一天 - AlertSnitch 告警歷史可視化的利器
iPhone升級iOS18之後 Vigor Router Firewall 路由器 防火牆 SmartVPN Client 問題
入門 ASP.NET Web Forms:建立您的第一個 Web 應用程式
從「這次不會壞吧」到自動化的未來:19 所以模型版本控制工具怎麼選?
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}