簡體   English   中英

類型“Int”不符合協議“BooleanType”?

[英]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.

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