возникли проблемы с обработкой потоков в swift

#swift

#swift

Вопрос:

Я разрабатываю приложение для групповых вызовов, после получения ice у меня возникает следующая проблема:

введите описание изображения здесь

Поток 1: EXC_BAD_ACCESS (код = 1, адрес = 0x40)

Есть ли какой-либо способ решить это? введите описание изображения здесь [введите описание изображения здесь] [введите описание изображения здесь]4

Комментарии:

1. Пожалуйста, замените все скриншоты реальным кодом. Если imgur отключится, ваш пост больше не будет читаемым…

Ответ №1:

Кажется, что либо participantJoineds не имеет элемента в первом индексе, либо .remotePeer равно нулю.

Вы должны изменить строку на:

 if participantJoindeds.first?.remotePeer?.remoteDescription != nil {
  

или даже лучше:

 if let description = participantJoindeds.first?.remotePeer?.remoteDescription {
  

Если метод должен завершиться после оценки этого оператора, вы также можете сделать:

 guard let description = participantJoindeds.first?.remotePeer?.remoteDescription else { 
    participantJoindeds.first?.arrIceCandidate?.append(iceCandidate)
    return
}
  

Комментарии:

1.Или использовать guard guard let description = participantJoindeds.first?.remotePeer?.remoteDescription else { //failure case return } //success case print(description)

2. Конечно, но я не знаю, какой код есть у OP после этого утверждения, поэтому guard let может не подойти.

3. @LinusGeffarth хммм, ты прав. Пусть решает Op. Предоставьте ему как можно больше вариантов на выбор: D

4. Безусловно, я добавил это. Я также большой поклонник guard let , но это зависит от ситуации…

5. Я отредактировал статью, спасибо всем за помощь