Структура C в Swift

#c #swift

#c #swift

Вопрос:

Я пытаюсь использовать amazon-kinesis-video-streams-webrtc-sdk-c в проекте Swift, однако я не уверен в том, как создать структуру SignalingClientInfo. В частности, я не уверен в том, как правильно построить clientId :

 var signalingClientInfo = SignalingClientInfo(
    version: UINT32(SIGNALING_CLIENT_INFO_CURRENT_VERSION),
    clientId: clientId,
    loggingLevel: UINT32(1)
)
  

Ответ №1:

Немного раздражает, но массивы фиксированного размера на C, подобные clientId , импортируются в Swift в виде кортежей.

Продолжаются обсуждения по добавлению правильных массивов фиксированного размера в Swift, но в то же время существуют зависящие от реализации приемы, которые вы можете использовать для создания больших кортежей из массивов.

Смотрите https://oleb.net/blog/2017/12/swift-imports-fixed-size-c-arrays-as-tuples /

Редактировать: похоже, что расположение однородных кортежей гарантировано. Так что это безопасно, просто раздражает.