Ios 无法使用类型为(string:string,attributes:[NSObject:AnyObject]?)的参数列表调用NSAttributedString类型的初始值设定项
我正在将代码从XCode 6.4迁移到7,这个错误似乎无法解决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
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]?)