#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. Я отредактировал статью, спасибо всем за помощь