我正在考虑实现一些目标 C 代码的快速版本。我有一个带有声明的 Typedef:
void (^)(Class1 * _Nonnull, Class2 * _Nonnull)
类声明是:
@class Class1 : NSObject;
@class Class2 : NSObject;
Class2 具有这样的结果属性:
@property (readonly, atomic) Result * _Nullable result;
尝试使用它时,我有以下内容:
类属性
var object1: Class1?
var object2: Class2?
var result: Result?
var objectTD: TypedefName?
和一些代码:
self.object1 = try! Class1()
self.object2 = Class2.init()
self.objectTD = (self.object1, self.object2)
self.Class1!.method(self.objectTD)
我在最后两行得到的错误是:
无法将类型“(Class1?,Class2?)”的值分配给类型“TypedefName”(又名“(Class1,Class2)->()”)
可选类型 'TypedefName?' 的值 (又名 'Optional<(Class1, Class2) -> ()>')必须解包为类型为 'TypedefName' 的值(又名 '(Class1, Class2) -> ()')