2017-02-14 57 views
0

我想在我的應用程序中使用這個https://github.com/thii/FontAwesome.swift包實現FontAwesome圖標。我正確執行了所有的指示,但由於某些原因,當我試圖執行一個圖標到我的導航欄,如下所示:字體太棒了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