在 Swift 中使用对象初始化器来替换 AllocWithZone

Posted

技术标签:

【中文标题】在 Swift 中使用对象初始化器来替换 AllocWithZone【英文标题】:Using Object Initializers in Swift to replace AllocWithZone 【发布时间】:2015-08-07 19:26:28 【问题描述】:

我最近将我的 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

我应该用什么来代替“.allocWithZone”,以便它使用对象初始化器而不是这个 Obj C 组件?

【问题讨论】:

看看***.com/a/25809379/1187415 ... 【参考方案1】:

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

let copy=self.dynamicType.initialize() as! ChartDataEntry

【讨论】:

谢谢,是的,我使用的是 iOS 图表库。 顺便说一句,有一个 swift-2.0 分支,更新到 beta 5 :-) 谢谢 daniel.gindi。这些图表看起来很棒。

以上是关于在 Swift 中使用对象初始化器来替换 AllocWithZone的主要内容,如果未能解决你的问题,请参考以下文章