创建属性字符串Swift时出错

时间:2015-03-22 22:34:09

标签: swift nsattributedstring

我正在尝试创建一个属性字符串,并将其与非属性字符串一起添加到文本字段中。当我尝试创建属性字符串时,我得到了异常:

  

Call中的额外参数字符串。

应该是自我解释但不能看到它,代码是

let theString : NSString = "Correct Answers: "
        let labelFont = UIFont(name: "HelveticaNeue-Bold", size: 18)
        let attributes : Dictionary = [NSFontAttributeName : labelFont]

//Exception thrown here
var attrString = NSAttributedString(string: "Foo", attributes:attributes);

textfield.text = attrString + "blah blah blah";

提前致谢。

1 个答案:

答案 0 :(得分:1)

您应该为属性打开“labelFont”。

另外,你做不到

attrString + "blah blah blah"

因为您无法直接添加String和NSAttributedString。

您可以使用NSMutableAttributedString:

let labelFont = UIFont(name: "HelveticaNeue-Bold", size: 18)
let attributes = [NSFontAttributeName : labelFont!]
var attrString = NSMutableAttributedString(string: "Foo", attributes: attributes)
let newString = NSAttributedString(string: " blah blah blah")
attrString.appendAttributedString(newString)
println(attrString.description)