2015-10-20 61 views
-1

爲什麼編譯器會爲下面的代碼嘗試創建字典時引發錯誤?你將如何解決這個代碼?Swift 2:表達式的類型在沒有更多上下文的情況下是不明確的,對於字典

let options = [ 
    kCVPixelBufferCGImageCompatibilityKey: true, 
    kCVPixelBufferCGBitmapContextCompatibilityKey: true] 

我查看了所有與此相同的錯誤的其他相關問題,一直未能找到解決方案。

+1

這是什麼冒號':'在'選項'的名字後面? –

+0

@AlexBrown哎呀,這是一個神器。幸運的是,冒號不是問題的根源。 –

+1

http://ericasadun.com/2015/10/19/sets-vs-dictionaries-smackdown-in-swiftlang/ ...這個鏈接的帖子爲Swift中那些相同的常量定義了一個NSDictionary類型,就像'[NSString:NSObject] '儘管AnyObject可能會更好,取決於您的需求 – mc01

回答

3

如何

let options : [NSObject : AnyObject] = [ 
    kCVPixelBufferCGImageCompatibilityKey: true, 
    kCVPixelBufferCGBitmapContextCompatibilityKey: true] 

[NSObject : AnyObject]在Objective-C相當於NSDictionary。你使用的庫要求它是這種類型的。

+0

謝謝!我不知道[NSObject:AnyObject]是NSDictionary的等價物,這很好理解。 –

相關問題