0

我正在考虑实现一些目标 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) -> ()')

4

0 回答 0