2015-01-27 5 views
2

Restift를 사용하고 Swift에서 "addFetchRequestBlock"을 호출합니다.'[NSObject : AnyObject]'가 'NSDictionary'와 동일하지 않습니다. RKPathMatcher에 문제가 있습니다.

블록 내부 ... 음, 여기 코드가 있습니다. 쉽게 볼 수 있습니다 :

RKObjectManager.sharedManager().addFetchRequestBlock { (url: NSURL!) -> NSFetchRequest! in 
    let pathMatcher = RKPathMatcher(pattern: partialPath) 

    var argsDict: [NSObject: AnyObject] 
    let tokenize = false as Bool 
    if (pathMatcher.matchesPath(url.relativePath, tokenizeQueryStrings: tokenize, parsedArguments: &argsDict)) { 

이 ......

그것은 "argsDict"을 좋아하지 않는다. (스크롤 코드 오른쪽) 에러 '[NSObject를는 : AnyObject]

를 판독 동일하지 않다'는 NSDictionary '이상한

I 그것이라고 생각 C/B. 어쨌든 NSDictionary로 타입을 전환하고 문제를 해결할 수 있지만 NSDictionary 대신 "Dictionary"객체로이 작업을 수행 할 수 있는지 궁금합니다. 다른 이유도없이, 나는 더 "뻔뻔스러워"려고 노력하는 것보다.

답변

0

정상적으로 Apple Docs의 "Autoreleasing Pointers"섹션에서 발견되었습니다. 기본적으로 지적되는 유형은 연결되지 않습니다. 브리지되지 않습니다 지적된다

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithCAPIs.html

유형. 예를 들어, NSString ** 은 Swift에 AutoreleasingUnsafeMutablePointer 인 < NSString으로 제공됩니까? >, 아니요 자동 회신 유감 스러움 변하기 쉬운 포인터 < 문자열?>.