本文介绍: 最近在Swift-OC混编项目里遇到个奇怪的问题,这样一行代码尽然引发了Swift编译过程死锁xxSwiftModel?.salary = xxOCModel.salary?.doubleValue

最近在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


//在swiftxx_update 方法中这样赋值调用,发生swift编译器死锁
func xx_update(model: XX_OCModel) {
    
    if let xxOCModel = model {
        xxSwiftModel?.salary = xxOCModel.salary?.doubleValue
    }

}


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注