2017-02-14 8 views
0

私はこのhttps://github.com/thii/FontAwesome.swiftパッケージを使用して、私のアプリでFontAwesomeのアイコンを実装しようとしています。私は正しく、すべての指示に従ったが、私はそうのように私のナビゲーションバーにアイコンを実装しようとしているいくつかの理由のために:フォントAwesome Swift: "あいまいなコードの使用"

let attributes = [NSFontAttributeName: UIFont.fontAwesome(ofSize: 20)] as [String: Any] 
mapButton.setTitleTextAttributes(attributes, for: .normal) 
mapButton.title = String.fontAwesomeIcon(name: .globe) 

私はエラーを取得:Ambiguous use of 'fontAwesome(name:)'とXcodeは、それはこれら二つの候補者を発見したと言う:

/// Get a FontAwesome icon string with the given icon name. 
/// 
/// - parameter name: The preferred icon name. 
/// - returns: A string that will appear as icon with FontAwesome. 
public static func fontAwesomeIcon(name: FontAwesome) -> String { 
    return name.rawValue.substring(to: name.rawValue.characters.index(name.rawValue.startIndex, offsetBy: 1)) 
} 
/// Get a FontAwesome icon string with the given CSS icon code. Icon code can be found here: http://fontawesome.io/icons/ 
/// 
/// - parameter code: The preferred icon name. 
/// - returns: A string that will appear as icon with FontAwesome. 
public static func fontAwesomeIcon(code: String) -> String? { 

    guard let name = self.fontAwesome(code: code) else { 
     return nil 
    } 

    return self.fontAwesomeIcon(name: name) 
} 

このパッケージのデモファイルは正常に動作するので、なぜ私のコードが動作しないのか混乱しています。デフォルトで実行するxcodeの候補を選択する方法はありますか?

+0

(私の答えで説明するように)再現できません。表示されているように、コードをコンパイルする必要があります。私はあなたが問題を正しく記述していないか(実際に私たちに見せてくれなかった行からのエラーかもしれない)、FontAwesomeをプロジェクトに正しく組み込んでいないことを提案する必要があります。最後の手段として、Xcodeを終了し、DerivedDataフォルダを削除してみてください。 – matt

答えて

0

when I'm trying to implement an icon into my navbar

正確にはmapButtonとは何ですか?それはUIBarButtonItemですか?もしそうであれば、あなたのコードはうまくコンパイルされるはずです。私はこれを試みた:

let mapButton = UIBarItem() // my code 
// the rest is _exactly_ your code! 
let attributes = [NSFontAttributeName: UIFont.fontAwesome(ofSize: 20)] as [String: Any] 
mapButton.setTitleTextAttributes(attributes, for: .normal) 
mapButton.title = String.fontAwesomeIcon(name: .globe) 

それはちょうどよいコンパイル。

Ambiguous use of fontAwesome(name:)

本当に? fontAwesome(name:)と書くと、fontAwesomeという用語がfontAwesomeIconという用語と同じではないため、確かにコンパイルエラーが発生します。しかし、その場合、あなたのコードとあなたのエラーメッセージは一緒には行きません!そして、いずれにしても、意図的に間違えてしまうと、私が受け取るエラーメッセージは違うエラーです。

+0

私のバーのボタンは以前はコンセントでしたが、それを試してみても、それは私に同じエラーをもたらしました。本当に 'fontAwesomeItem(name :)'で、 'fontAwesome(name :)'ではなく、間違って入力しました – ch1maera

+0

プロジェクトをどこかに投稿すると(Dropbox、github、何でも)、現在の状態になりますあなたのためにそれを見て喜んでください。これは簡単に理解できるはずです。 – matt

+0

気にしない、私はそれを修正した - 私はポッドを再インストールし、それは働いた。あなたの助けをありがとう! – ch1maera

関連する問題