1
Swift 2をSwift 3にコードしようとしていますが、次のコードを変換できません。コンテキストタイプ 'Any'は配列リテラルで使用できません。Swift 3
AnyObjectの代わりにAnyを使用すると、次のようなエラーが表示されます。コンテキストタイプ 'Any'は「items:」の部分に配列リテラルで使用できません。
ときIユーザーANYOBJECTし、「名前:」を使用ANYOBJECTのようなエラーになって一部を:コンテキスト型「ANYOBJECTを」私はそれのための最善の解決策を見つけることができませんでした配列リテラルを使用することはできません。 どうすればいいですか?スウィフト3異種のリテラルのコレクション型で
var menus: [[String: AnyObject]] {
return [
["name": NSLocalizedString("General", comment: ""),
"items": [
MenuItem(icon: UIImage.fontAwesomeIcon(FontAwesome.Heart, textColor: TubeTrends.Settings.foregroundColor, size: TubeTrends.Settings.menuIconSize), title: NSLocalizedString("Favorites", comment: ""), action: { (indexPath) -> Void in
self.navigationController?.pushViewController(self.favoritesVideoListVC(), animated: true)
}),
]
]
おかげで、明示的に注釈を付けなければなりません。この解決策では、コンテキスト変数の型 'Any'は「items:」の部分の配列リテラルエラーで使用できません。 – Jessica
次に、 'items'の値を別に宣言(および注釈)する必要があります。 – vadian
スウィフトは、異種コレクションの「Any」を単純に推論することはできません。 –