它是安全的環比Objective-C的布爾值將像這樣:循環在布爾值將在Objective-C
for (BOOL flagA = NO; flagA <= YES; flagA++)
for (BOOL flagB = NO; flagB <= flagA; flagB++)
// ...
我想通過標誌的所有相關排列在XCTestCase
使用這種循環。
但它看起來好像YES++
仍然YES
至少在某些平臺上(因此導致一個無限循環例如在iPhone 6 Plus上的模擬器),而我本來預計BOOL
也只是被視爲int
(因此YES++
成爲2
)。
我是否必須通過int
s(我最好的猜測)來代替,還是可以通過某種方便的方式來挽救BOOL
的使用?
爲什麼你不使用整數然後使用整數作爲布爾值? – Sulthan 2015-02-23 09:34:24
@Sulthan請參閱Q中的最後一行。那麼這是要走的路嗎?你知道爲什麼'BOOL'(顯然)在不同平臺上的工作方式不同(用'++'來說)? – Drux 2015-02-23 09:35:54
我目前不能在代碼中看到一個錯誤,因爲'YES'應該是1,'NO'應該是0,'BOOL'應該是有符號字符的,但是你不應該用'<='比較布爾值或者增加布爾值。這些操作是未定義的。 – Sulthan 2015-02-23 09:39:02