Swift 2.0 错误:警告:无法加载任何 Objective-C 类信息
Posted
技术标签:
【中文标题】Swift 2.0 错误:警告:无法加载任何 Objective-C 类信息【英文标题】:Swift 2.0 Error: warning: could not load any Objective-C class information 【发布时间】:2015-11-06 17:30:23 【问题描述】:我收到此错误:
警告:无法加载任何 Objective-C 类信息
还有
线程 1:EXC_BAD_ACCESS(code=2,address=0x7fff5588dfb8)
...分配此类时:
import UIKit
import QuartzCore
class CERangeSliderKnobLayer: CALayer
var highlighted = false
weak var slider = CERangeSlider()
像这样的变量:
import UIKit
class CERangeSlider: UIControl
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
override func drawRect(rect: CGRect)
// Drawing code
*/
var maximumValue = CGFloat()
var minimumValue = CGFloat()
var upperValue = CGFloat()
var lowerValue = CGFloat()
var trackLayer = CERangeSliderKnobLayer()
var upperKnobLayer = CERangeSliderKnobLayer()
var lowerKnobLayer = CERangeSliderKnobLayer()
...
这毫无意义。我所知道的项目中绝对没有任何目标 C。这都是斯威夫特。
更新
如果你不那样初始化它们,而是这样写,即
var trackLayer: CERangeSliderKnobLayer!
然后你得到一个错误:
致命错误:在展开可选值时意外发现 nil
类似:
trackLayer.backgroundColor = UIColor.blueColor().CGColor
【问题讨论】:
【参考方案1】:由于某种原因,答案是更改我的类,以便不初始化弱属性:
import QuartzCore
class CERangeSliderKnobLayer: CALayer
var highlighted = false
weak var slider: CERangeSlider!
【讨论】:
以上是关于Swift 2.0 错误:警告:无法加载任何 Objective-C 类信息的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 内存警告 - 无法加载任何 Objective-C 类信息