我有一个模型类,如下所示,它是用Objective-C编写的库。我在我的Swift项目中使用这个类。在Swift中,它变成了类型为
在我的Swift项目中,我正在检查middleName属性的nil验证,如下所示:
它给我抛出了以下的运行时错误:
如果Objective-C属性在Swift中公开为
我该如何检查未包装的可选变量。
提前致谢。
String!
的属性。有时该属性将为空。因此,我按以下方式测试空值验证:
Vendor.h
@interface Vendor: NSObject {
@property (nonatomic, strong) NSString *firstName;
@property (nonatomic, strong) NSString *lastName;
@property (nonatomic, strong) NSString *middleName;
}
在我的Swift项目中,我正在检查middleName属性的nil验证,如下所示:
if anObject.middleNam != nil { // Here, It throws runtime error: fatal error: Unexpectedly found nil while unwrapping an Optional value
}
它给我抛出了以下的运行时错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
如果Objective-C属性在Swift中公开为
String?
,那么我会使用以下代码:if let middleName = anObject.middleName {
}
我该如何检查未包装的可选变量。
提前致谢。
if let
—— 虽然!= nil
检查应该可以正确处理middleName
,但是anObject
是如何定义的呢? - Hamish