원격 알림 userInfo 사전에서 배지 값을 추출하려고합니다. 많은 게시물을 읽고 내 문제의 해결책을 찾았지만 만족스럽지 않습니다! 나는 다음을 수행하고자하는 { aps = { badge = 7 } }
Swift : '(NSObject, AnyObject)'에 'subscript'라는 멤버가 없습니다.
이 번호를 추출하려면 '7'내 userInfo
에서 : 그래서 여기
내 데이터 구조 (나는 쓸모없는 선을 제거)입니다
self.updateAppIcon(userInfo["aps"]["badge"] as? Int)
그러나
스위프트 : 물론 나는 다음과 같은 오류가
'(NSObject의, AnyObject가)'회원이 이름이 없습니다 '첨자'내가 잘못하지 않았다면 []
은 다른 사전으로 해석 할 수없는 AnyObject를 반환하기 때문입니다. 더 섹시한 방법으로
func handleRemoteNotifiation(userInfo: [NSObject : AnyObject]) {
if let aps: AnyObject = userInfo["aps"] {
if let apsDict = aps as? [String : AnyObject]{
if let badge: AnyObject = apsDict["badge"] {
self.updateAppIconBadgeNumber(badge as? Int)
}
}
}
}
func updateAppIconBadgeNumber(number: Int?) {
// do stuff here
}
하지만 심각 ... 내가 할 수있는 : 다음을 수행하는 것입니다
작업 솔루션? 적은 줄, 적은 절, 적은 캐스트 등? 이것은 쉬운 일의 "코드 - 복합"솔루션입니다.
감사
정말 고마워!이 "선택적인 연결"에 대한 단서가 없었습니다. 솔루션과 링크 모두에 감사드립니다! –