call method

Implementation

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