call method

Implementation

UIViewController? call() =>
    ref.pointer.ref.invoke
            .cast<ffi.NativeFunction<ffi.Pointer<objc.ObjCObject> Function(ffi.Pointer<objc.ObjCBlockImpl> block)>>()
            .asFunction<ffi.Pointer<objc.ObjCObject> Function(ffi.Pointer<objc.ObjCBlockImpl>)>()(
              ref.pointer,
            )
            .address ==
        0
    ? null
    : UIViewController.castFromPointer(
        ref.pointer.ref.invoke
            .cast<ffi.NativeFunction<ffi.Pointer<objc.ObjCObject> Function(ffi.Pointer<objc.ObjCBlockImpl> block)>>()
            .asFunction<ffi.Pointer<objc.ObjCObject> Function(ffi.Pointer<objc.ObjCBlockImpl>)>()(
          ref.pointer,
        ),
        retain: true,
        release: true,
      );