任何時候當你結合兩個或更多的標誌時,你使用|。除了Swift,它將其改爲使用數組語法。但現在,我盯着本地通知一些文件做這個:目標C是否開始使用+而不是|合併比特?
requestAuthorizationWithOptions: (UNAuthorizationOptionAlert + UNAuthorizationOptionSound)
如果這些是枚舉。我無法找到+運營商突然以這種方式開始工作的地方。我沒有看到任何指標|不能只是用來代替。我意識到,也許這些枚舉本身可能恰好適用於它們的本質和它們的添加方式,但我懷疑我的最後一個陳述。
從某種意義上說,它們「只是位模式」(並且假設標誌本身是位掩碼),爲什麼不按照您期望的那樣做?不過,這絕對是非正統的。 – CodaFi
如果它們是唯一的位標,加上等於它們。但只有在這種情況下。 –
@CodaFi要清楚的是,只有在沒有任何值具有任何公共位時才添加位掩碼。使用加法是一個壞主意,因爲它是有風險的,只能在可能會改變的特定條件下工作。 – rmaddy