Swift 2.0 - 2진수 연산자 "|"를 2개의 UIUser Notification에 적용할 수 없습니다.피연산자
다음과 같이 로컬 알림 응용 프로그램을 등록하려고 합니다.
UIApplication.sharedApplication().registerUserNotificationSettings(UIUserNotificationSettings(forTypes: UIUserNotificationType.Alert | UIUserNotificationType.Badge, categories: nil))
Xcode 7 및 Swift 2.0에서는 에러가 발생.Binary Operator "|" cannot be applied to two UIUserNotificationType operands
도와주세요.
Swift 2에서는 일반적으로 이 작업을 수행하는 많은 유형이 OptionSetType 프로토콜을 준수하도록 업데이트되었습니다.이를 통해 어레이와 같은 사용 구문을 사용할 수 있으며, 이 경우 다음을 사용할 수 있습니다.
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge], categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(settings)
이와 관련하여 옵션세트에 특정 옵션이 포함되어 있는지 여부를 확인하려면 비트 단위 AND 및 영점 체크를 더 이상 사용할 필요가 없습니다.어레이에 값이 포함되어 있는지 확인하는 것과 같은 방법으로 옵션 세트에 특정 값이 포함되어 있는지 여부를 묻는 것만으로 충분합니다.
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge], categories: nil)
if settings.types.contains(.Alert) {
// stuff
}
Swift 3에서는 샘플을 다음과 같이 작성해야 합니다.
let settings = UIUserNotificationSettings(types: [.alert, .badge], categories: nil)
UIApplication.shared.registerUserNotificationSettings(settings)
그리고.
let settings = UIUserNotificationSettings(types: [.alert, .badge], categories: nil)
if settings.types.contains(.alert) {
// stuff
}
다음과 같이 쓸 수 있습니다.
let settings = UIUserNotificationType.Alert.union(UIUserNotificationType.Badge)
나에게 효과가 있었던 건
//This worked
var settings = UIUserNotificationSettings(forTypes: UIUserNotificationType([.Alert, .Badge, .Sound]), categories: nil)
이것은 Swift 3에서 업데이트 되었습니다.
let settings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
UIApplication.shared.registerUserNotificationSettings(settings)
언급URL : https://stackoverflow.com/questions/30761996/swift-2-0-binary-operator-cannot-be-applied-to-two-uiusernotificationtype
'programing' 카테고리의 다른 글
문자열에 C++ 문자열이 포함되어 있는지 확인합니다. (0) | 2023.04.17 |
---|---|
추적되지 않은 파일을 어떻게 저장합니까? (0) | 2023.04.17 |
다른 서브에서 Excel VBA를 호출하는 여러 입력, 다양한 크기의 출력 (0) | 2023.04.12 |
16진수 색상 값 사용 방법 (0) | 2023.04.12 |
이 file.sh을 더블클릭으로 실행 가능하게 하려면 어떻게 해야 하나요? (0) | 2023.04.12 |