最近在Swift-OC混编项目里遇到个奇怪的问题,这样一行代码尽然引发了Swift编译过程死锁。
xxSwiftModel?.salary = xxOCModel.salary?.doubleValue
如果哪位大神知道根因?具体使用代码如下:
@objc
@objcMembers
public class XX_SwiftModel: NSObject, JSONMappable {
public var salary: CGFloat?
//...
}
@interface XX_OCModel : NSObject
@property (nonatomic, strong, readwrite, nullable) NSNumber *salary;
@end
//在swift 的 xx_update 方法中这样赋值调用,发生swift编译器死锁
func xx_update(model: XX_OCModel) {
if let xxOCModel = model {
xxSwiftModel?.salary = xxOCModel.salary?.doubleValue
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)