2015-09-16 5 views
3

Я пытаюсь добавить два NSAttributedString.appendAttributedString возвращаемое значение типа Void

let string_1 : NSAttributedString = self.answerTextView.attributedText 
let string_2 : NSAttributedString = handleHtml(i) // a function that returns a NSAttributedString 
let finalStr : NSAttributedString = string_1.mutableCopy().appendAttributedString(string_2) 

Но я получил ошибку в третьей строке:

Невозможно преобразовать значение типа 'Пустота' (он же '()') для указанного типа 'NSAttributedString'

Как я могу это решить? Спасибо

ответ

8

appendAttributedString обновляет вызывающего абонента. Он не возвращает новую строку. Попробуйте следующее:

let string_1 : NSAttributedString = self.answerTextView.attributedText 
let string_2 : NSAttributedString = handleHtml(i) // a function that returns a NSAttributedString 
let tmpStr : NSMutableAttributedString = string_1.mutableCopy() 
tmpStr.appendAttributedString(string_2) 
let finalStr : NSAttributedString = tmpStr.copy() 
0

Def что-то вроде этого:

//MARK: Custom functions 
func getQueueAttributedString(number N: Int) -> NSAttributedString? { 

    let uploadSymbolAttributes = [NSForegroundColorAttributeName: UEColor.brown.six, NSFontAttributeName: UEFont.unearthCharacterFont(13)] 

    let attributedString = NSMutableAttributedString(string: UEFontCharacter.triangle_up, attributes: uploadSymbolAttributes) 

    let queueAttributes = [NSForegroundColorAttributeName: UEColor.brown.six, NSFontAttributeName: UEFont.museo300(withSize: 13)] 

    let queueString = NSAttributedString(string: " \(N) items queued", attributes: queueAttributes) 

    attributedString.append(queueString) 

    return attributedString 

} 

Где UEFont обычай UIFont, UEColor статической структура пользовательских UIColor-х и UEFontCharacter линейные шрифты значка.

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