在Swift中使用Object Initializers来替换AllocWithZone

Bre*_*ith 3 xcode ios swift swift2 xcode7-beta5

我最近将Xcode从Xcode 7 beta 4更新为Xcode 7 beta 5,并开始出现之前没有的错误.那就是:"AllocWithZone在Swift中不可用:改为使用Object Initializers."

以下是发现错误的代码:

public func copyWithZone(zone: NSZone) -> AnyObject {
    let copy = self.dynamicType.allocWithZone(zone) as ChartDataSet
    copy.colors = colors
    copy.label = self.label
    return copy
}
Run Code Online (Sandbox Code Playgroud)

我用什么代替".allocWithZone",以便它使用对象初始化器代替这个Obj C组件?

小智 5

我用过这个,iOS图表库对我有用:

let copy=self.dynamicType.initialize() as! ChartDataEntry
Run Code Online (Sandbox Code Playgroud)

  • BTW,有一个swift-2.0分支,更新到beta 5 :-) (2认同)