조건부 바인딩의 이니셜 라이저에는 '[NSObject : AnyObject]'SwiftyJSON이 아닌 선택적 유형이 있어야합니다.

niks290192

Xcode 7.3.1을 사용하고 코드를 변환하기 위해 건너 뛰고 싶었지만 여기에서 어떤 종류의 문제에 직면 해 있습니다. 이것은 Swift 1.1에서 사용하는 방법이지만 오류가 발생합니다. 조건부 바인딩에 대한 초 기자에는 '[NSObject : AnyObject]'가 아닌 선택적 유형 SwiftyJSON :

  if let userInfo = error.userInfo { <-- Error in this line //Initialiser for conditional binding must have Optional type, not '[NSObject: AnyObject]'
                if let breadcrumb = userInfo["JSONErrorBreadCrumbKey"] as? NSString {
                    let newBreadCrumb = (breadcrumb as String) + "/\(index)"
                    let newUserInfo = [NSLocalizedDescriptionKey: "JSON Keypath Error: Incorrect Keypath \"\(newBreadCrumb)\"",
                        "JSONErrorBreadCrumbKey": newBreadCrumb]
                    return JSONValue.JInvalid(NSError(domain: "JSONErrorDomain", code: 1002, userInfo: newUserInfo))
                }
            }

미리 감사드립니다!

블라디미르 눌

조건부 바인딩 (만약하면)은 결과가 nil 일 수있는 표현식을 예상합니다. 이 오류는 error.userInfo가 nil 아님을 의미합니다 .

다음과 같이 첫 번째 줄에서 if를 삭제하면됩니다.

let userInfo = error.userInfo

나머지 코드는 괜찮습니다. 닫는 대괄호도 삭제해야합니다 }.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관