2015-09-16 57 views
3

我試圖追加兩個NSAttributedStringappendAttributedString類型的返回值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

防守效率是這樣的:

//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是一個自定義UIFontUEColor是定製UIColor的靜態結構和UEFontCharacter是線性圖標字體。

相關問題