将Xcode更新到10.2后,我遇到了奇怪的崩溃。我有一个Objective-C类方法如下
@interface Car: NSObject
+ (NSDictionary<NSString *, Class> *) carMapping;
@end
返回 NSDictionary<NSString *, Class>
类型的字典,如下所示
@implementation Car
+ (NSDictionary<NSString *, Class> *) carMapping {
return @{
@"BMW": [BMWCar class],
@"Mercedes": [MercedesCar class],
@"Toyota": [ToyotaCar class],
@"Tesla": [TeslaCar class]
};
}
@end
我在 Swift 中使用这个 Objective-C 方法作为
let carMapping = Car.carMapping()
print(carMapping)
这与Xcode 10.1完美配合。
但是将 Xcode 更新到 10.2 后,应用程序崩溃说第 1 行Thread 1: EXC_BAD_ACCESS (code=1, address=0x0)
。我没有任何头绪。
我无法控制类Car
。我将如何处理这种情况?
如果你想在
swift 中毫不费力地使用这个类,只需将界面中的签名从 Class 更改为 id。在实现中,您无需更改。
@interface Car : NSObject
+ (NSDictionary<NSString *, id> *) carMapping ;
@end