У меня есть кусок кода C:
#define AV_NUM_DATA_POINTERS 8
uint8_t *data[AV_NUM_DATA_POINTERS];
В быстро сгенерированном интерфейсе это выглядит так:
var data: (UnsafeMutablePointer<UInt8>?, UnsafeMutablePointer<UInt8>?, UnsafeMutablePointer<UInt8>?, UnsafeMutablePointer<UInt8>?, UnsafeMutablePointer<UInt8>?, UnsafeMutablePointer<UInt8>?, UnsafeMutablePointer<UInt8>?, UnsafeMutablePointer<UInt8>?)
Есть функция, которой нужна эта переменная data
. Его представление в C выглядит следующим образом:
int sws_scale(..., const uint8_t *const srcSlice[], ...);
Однако swift создает следующую подпись:
func sws_scale(..., _ srcSlice: UnsafePointer<UnsafePointer<UInt8>?>!, ...) -> Int32
Каков наилучший способ привести огромный кортеж к типу, который будет работать для функции sws_scale
?