簡體   English   中英

參數類型“字符串?” 不符合預期的類型“StringProtocol”

[英]Argument type 'String?' does not conform to expected type 'StringProtocol'

在此處輸入圖片說明

Swift 5String使用compare時會發生此錯誤,它僅接受StringProtocol ,但我想在String上使用它,卻找不到方法。

我已經搜索了所有內容,但無法理解似乎是什么問題。

Optional<String> (又名String? )不符合StringProtocol (這是有道理的)。 你應該解開可選的,有幾種方法:

  1. 通過if let / guard ( if let version = dbData?.version { //compare } ) 展開
  2. 提供默認值(`(dbData?.version ??"")),不推薦使用,因為它可以提供不必要的沖突
  3. 強制解dbData!.version ,強烈不推薦這樣做,因為如果 Optional nil ,它可能會導致應用程序崩潰

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM