[英]Type 'Int' does not conform to protocol 'BooleanType'?
我知道還有另一個線程有同樣的問題,但它沒有說明問題的真正原因
我是 swift 的新手,所以我對此有點困惑。 我編寫了一個非常簡單的程序,它應該以默認的關注者數量 (0) 開始並將其分配給“defaultfollowers”,一旦變為 1,它就應該成為“關注者”,但我收到錯誤“Type 'Int'不符合協議“BooleanType””。 這是什么原因造成的,為什么
var followerdeafault = 0
var followers = 0
if (followerdeafault++){
var followers = followerdeafault
}
在 Swift 中,您不能隱式地替換 Int 而不是 Bool。 這樣做是為了防止混淆並使代碼更具可讀性。
所以而不是這個
let x = 10
if x { /* do something */ }
你必須這樣寫:
let x = 10
if x != 0 { /* do something */ }
此外,您不能像在 Objective-C 中那樣通過 Optional 而不是 Bool 來檢查它是否為nil
。 改用顯式比較:
if myObject != nil { /* do something */ }
正如評論所說,您試圖在Bool
比較語句中使用Int
。 你正在尋找的可能是這樣的:
if followerdeafuaut++ == 1 { ... }
另附注:不推薦使用++
運算符,轉向使用+=
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.