Функция в синглтоне не работает

Как следует из названия, у меня возникла небольшая проблема с забавой в синглтоне. это мой код:

    import UIKit

class InterfaceManager: NSObject
{
    class var sharedInstance: InterfaceManager
    {
        get
        {
            struct Static
            {
            static var instance: InterfaceManager? = nil
            static var token: dispatch_once_t = 0
            }
            dispatch_once(&Static.token) { Static.instance = InterfaceManager()
            }
            return Static.instance!
        }
    }

    func chooseAttributedString(string: NSString, font: UIFont, color: UIColor)
    {
        let string: NSString = string
        var stringMutable = NSMutableAttributedString()
        stringMutable = NSMutableAttributedString(string: string as String , attributes: [NSFontAttributeName: font, NSForegroundColorAttributeName: color])
    }
}

но когда я собираюсь вызвать метод в классе, Xcode выдает мне ошибку «Посторонняя метка аргумента« строка »в вызове». после моего кода строки:

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
    {
        let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! CellSquadreController
        let squadra = DataManager.sharedInstance.arrayCori[indexPath.row]

        cell.backgroundColor = UIColor.clearColor()
        cell.nomeSquadra.attributedText = InterfaceManager.sharedInstance.chooseAttributedString(string: squadra.nome, font: UIFont(name: "Noteworthy-Light", size: 23)!, color: UIColor.whiteColor())
        return cell
    }

PS: я только что исправил небольшую ошибку, но все равно не работает...


person Fabio Cenni    schedule 21.08.2015    source источник
comment
Вы забыли получить доступ к файлу sharedInstance. InterfaceManager.sharedInstance.chooseA..   -  person Jack    schedule 22.08.2015
comment
Кроме того, ваша одноэлементная реализация излишне сложна, см. в быстром"> stackoverflow.com/questions/24024549/   -  person Jack    schedule 22.08.2015
comment
@JackWu Большое спасибо, я собираюсь прочитать этот пост!   -  person Fabio Cenni    schedule 22.08.2015


Ответы (1)


Вы забыли получить доступ к sharedInstance:

InterfaceManager.sharedInstance.chooseAttributedString(squadra.nome, font: UIFont(name: "Noteworthy-Light", size: 23)!, color: UIColor.whiteColor())

person Jack    schedule 21.08.2015
comment
Я попытался реализовать другие развлечения в синглтоне, и все работает, кроме моей забавы ChooseAttributedString(), в классе tableViewController появляется ошибка Посторонний аргумент label 'string' в вызове... Я не знаю, как это возможно! - person Fabio Cenni; 22.08.2015
comment
Это имеет смысл, первое имя переменной не нуждается во внешнем параметре. Я отредактировал свой ответ. Вы должны удалить метку string:. - person Jack; 22.08.2015
comment
Хорошо, это была ошибка! Вы решили мою проблему, большое спасибо! - person Fabio Cenni; 22.08.2015