我有這個線故障檢索分公司深層鏈接參數:問題在斯威夫特
let isBranchLinkKey = "+clicked_branch_link"
guard let didClickBranchLink = params[isBranchLinkKey] as? Int else { return }
didClickBranchLink
爲零,即使在調試器的參數是存在的。
下面是我的調試器的截圖:
。
我有這個線故障檢索分公司深層鏈接參數:問題在斯威夫特
let isBranchLinkKey = "+clicked_branch_link"
guard let didClickBranchLink = params[isBranchLinkKey] as? Int else { return }
didClickBranchLink
爲零,即使在調試器的參數是存在的。
下面是我的調試器的截圖:
。
正如編輯的截屏中提到,paramBranchLink
是boolean
值(注意:在左側的調試器__NSCFBoolean
),但你想投的Int
中後衛聲明。由於在swift中兩種都是不同的類型,所以guard語句會失敗。你應該改變你的警戒聲明,將其作爲Bool
的值。
guard let didClickBranchLink = params[isBranchLinkKey] as? Bool else { return }
這應該給在didClickBranchLink
一個boolean
值,你可以在你的後面部分的代碼中使用它。
嘿,這工作。你讓我意識到params [isBranchLinkKey]實際上是一個可選項也是有幫助的。如果演員和參數[isBranchLinkKey]都是可選零的可選項,則警戒聲明不起作用。 – ben
print'param'並檢查'didClickBranchLink'是否可以轉換爲int。 – adev
根據Branch.io文檔和我已經確認,didClickBranchLink將爲0或1。 – ben
嘗試控制檯中的'po params [isBranchLinkKey]'並查看它打印的內容。 – adev