2015-09-25 72 views
0

在實現下面的代碼:字典值類型NSNotificationCenter USERINFO

func locationManager(manager: CLLocationManager!, didChangeAuthorizationStatus status: CLAuthorizationStatus) { 

    NSNotificationCenter.defaultCenter().postNotificationName("gotAuthorization", object: nil, userInfo: ["status": status]) 

} 

,我發現了一個錯誤:

cannot invoke 'postNotificationName' with argument list of type... 

在另一方面,如果我狀態更改爲一些簡單的值像一個字符串或整數,一切都很好。

CLAuthorizationStatus是一個枚舉,這是最終的Int32。那麼將它作爲Dictionary的價值有什麼問題?

缺少什麼我在這裏:\

回答

0

的參數使用[NSObject的:AnyObject]的字典?並不意味着聽起來像編譯器,但Int32不符合AnyObject協議。它不會自動橋接到NSNumber,所以你需要投它。

["status": Int(status.rawValue)] 
+0

感謝您的回答。現在,有一個從「CLAuthorizationStatus」一個錯誤,說投給無關的類型「詮釋」總是失敗 –

+0

添加.rawValue到狀態 我會編輯:) – Lukas

+0

它的工作原理!謝謝! –