#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 /
Редактировать: похоже, что расположение однородных кортежей гарантировано. Так что это безопасно, просто раздражает.