Objective-C 方法在 Xcode 10.2 中返回类崩溃字典



将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

最新更新