Ios 无法使用类型为(string:string,attributes:[NSObject:AnyObject]?)的参数列表调用NSAttributedString类型的初始值设定项

Ios 无法使用类型为(string:string,attributes:[NSObject:AnyObject]?)的参数列表调用NSAttributedString类型的初始值设定项,ios,xcode,swift,swift2,Ios,Xcode,Swift,Swift2,我正在将代码从XCode 6.4迁移到7,这个错误似乎无法解决 func onHoldReasonAttributedTextSetup(onHoldReson : String) -> NSMutableAttributedString { let markerFontAttributes : [NSObject : AnyObject]? = [ NSFontAttributeName : UIFont(name: "HelveticaNeue", size: 1

我正在将代码从XCode 6.4迁移到7,这个错误似乎无法解决

func onHoldReasonAttributedTextSetup(onHoldReson : String) -> NSMutableAttributedString
{

    let markerFontAttributes : [NSObject : AnyObject]? = [
      NSFontAttributeName : UIFont(name: "HelveticaNeue", size: 12.0)!,
      NSForegroundColorAttributeName : UIColor(red: 0/255, green: 152/255, blue: 204/255, alpha: 1.0)
    ]
    let onHoldText = NSAttributedString(string: "On Hold: ", attributes: markerFontAttributes)
    let onHoldReasonText  = NSAttributedString(string:onHoldReson)
    var string = NSMutableAttributedString()
    string.appendAttributedString(onHoldText)
    string.appendAttributedString(onHoldReasonText)
    return string
}

您需要更改此行:

let markerFontAttributes : [NSObject : AnyObject]? = [
      NSFontAttributeName : UIFont(name: "HelveticaNeue", size: 12.0)!,
      NSForegroundColorAttributeName : UIColor(red: 0/255, green: 152/255, blue: 204/255, alpha: 1.0)
    ]

因为初始化器要求属性化字典采用
[String:AnyObject]?
格式:

init(string str: String, attributes attrs: [String : AnyObject]?)

引用:

使用like
让markerFontAttributes=[NSFontAttributeName:UIFont(名称:“HelveticaNeue”,大小:12.0)!,NSForegroundColorAttributeName:UIColor(红色:0/255,绿色:152/255,蓝色:204/255,alpha:1.0)]
您还可以完全删除类型声明,Swift 2应该正确推断类型。@EricD。是的,你说得对。在这种情况下,不需要指定类型
init(string str: String, attributes attrs: [String : AnyObject]?)