2017-02-14 22 views
0

Я пытаюсь реализовать иконки FontAwesome в своем приложении, используя этот пакет https://github.com/thii/FontAwesome.swift. Я следовал всем инструкциям правильно, но по какой-то причине, когда я пытаюсь реализовать значок в мою навигационную панель, как так:Шрифт 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 (имя :)», а не «fontAwesome (name :)» – ch1maera

+0

Если вы разместите проект где-нибудь (dropbox, github, что угодно) в текущем состоянии, я буду будьте рады взглянуть на него за вас. Это должно быть легко понять. – matt

+0

Nevermind, я исправил его - я переустановил стручок, и это сработало. Спасибо за вашу помощь! – ch1maera

 Смежные вопросы

  • Нет связанных вопросов^_^