У меня проблемы с приложением, похожим на WhatsApp, но это социальная сеть для банка.У него есть возможность создать группу и добавить некоторые из ваших контактов, проблема появляется, когда я пытаюсь создать группу с более чем 14 контактами: появляется индикатор загрузки, и примерно через минуту я получаю сообщение об ошибке сети 1001 (kCFURLErrorTimedOut),
Следующая функция, которую я использую для создания групп:
private func crearGrupo() {
if self.contactosSeleccionados.count < 2 {
let errorView = PPAlertView(view: self.navigationController!.view)
errorView.mostrarConMensaje(NSLocalizedString("error_activityCrearGrupo_integrantesGrupo", comment: ""))
} else {
let hud = self.mostrarLoading(self.navigationController!.view)
PeperApi.shareClient.agregarGrupo(nombreGrupo: self.nombreGrupo, completion: { (grupoID, error) in
if let error = error {
let errorView = PPAlertView(view: self.navigationController!.view)
errorView.mostrarConMensaje(error.localizedDescription)
hud?.dismiss()
} else if let grupoID = grupoID {
self.grupoCreado = Grupo()
self.grupoCreado?.grupoID = grupoID
self.grupoCreado?.nombre = self.nombreGrupo
if let imagenGrupo = self.imagenGrupo {
PeperApi.shareClient.actualizarFotoGrupo(image: imagenGrupo, groupId: "\(grupoID)", completion: { (urlString, error) in
if let error = error {
let errorView = PPAlertView(view: self.navigationController!.view)
errorView.mostrarConMensaje(error.localizedDescription)
hud?.dismiss()
} else {
self.grupoCreado?.urlImagen = urlString
if let user = User.getUser(), let imagenPerfil = user.imageUrl {
PeperApi.shareClient.agregarAmigosAlGrupo(fotoPerfilOwner: imagenPerfil, grupoId: grupoID, contactos: self.contactosSeleccionados, completion: { (error) in
if let error = error {
let errorView = PPAlertView(view: self.navigationController!.view)
errorView.mostrarConMensaje(error.localizedDescription)
} else {
self.grupoCreado?.cantidadIntegrantes = self.contactosSeleccionados.count
let cobroView = PPAlertBotonesVerticalesView(view: self.navigationController!.view, fondoSeleccionable: false)
cobroView.delegate = self
cobroView.botonCerrar.isHidden = true
cobroView.botonAceptar.setTitle(NSLocalizedString("btn_continuar", comment: ""), for: .normal)
cobroView.botonCancelar.setTitle(NSLocalizedString("activityCobroGrupo_et_omitir", comment: ""), for: .normal)
cobroView.mostrarConMensaje(mensaje: NSLocalizedString("activityCobroGrupo_et_realizar_cobro", comment: ""))
}
hud?.dismiss()
})
} else {
PeperApi.shareClient.agregarAmigosAlGrupo(grupoId: grupoID, contactos: self.contactosSeleccionados, completion: { (error) in
if let error = error {
let errorView = PPAlertView(view: self.navigationController!.view)
errorView.mostrarConMensaje(error.localizedDescription)
} else {
self.grupoCreado?.cantidadIntegrantes = self.contactosSeleccionados.count
let cobroView = PPAlertBotonesVerticalesView(view: self.navigationController!.view)
cobroView.delegate = self
cobroView.botonAceptar.setTitle(NSLocalizedString("btn_continuar", comment: ""), for: .normal)
cobroView.botonCancelar.setTitle(NSLocalizedString("activityCobroGrupo_et_omitir", comment: ""), for: .normal)
cobroView.mostrarConMensaje(mensaje: NSLocalizedString("activityCobroGrupo_et_realizar_cobro", comment: ""))
}
hud?.dismiss()
})
}
}
})
} else if let user = User.getUser(), let imagenPerfil = user.imageUrl {
PeperApi.shareClient.agregarAmigosAlGrupo(fotoPerfilOwner: imagenPerfil, grupoId: grupoID, contactos: self.contactosSeleccionados, completion: { (error) in
if let error = error {
let errorView = PPAlertView(view: self.navigationController!.view)
errorView.mostrarConMensaje(error.localizedDescription)
} else {
self.grupoCreado?.cantidadIntegrantes = self.contactosSeleccionados.count
let cobroView = PPAlertBotonesVerticalesView(view: self.navigationController!.view, fondoSeleccionable: false)
cobroView.delegate = self
cobroView.botonCerrar.isHidden = true
cobroView.botonAceptar.setTitle(NSLocalizedString("btn_continuar", comment: ""), for: .normal)
cobroView.botonCancelar.setTitle(NSLocalizedString("activityCobroGrupo_et_omitir", comment: ""), for: .normal)
cobroView.mostrarConMensaje(mensaje: NSLocalizedString("activityCobroGrupo_et_realizar_cobro", comment: ""))
}
hud?.dismiss()
})
} else {
PeperApi.shareClient.agregarAmigosAlGrupo(grupoId: grupoID, contactos: self.contactosSeleccionados, completion: { (error) in
if let error = error {
let errorView = PPAlertView(view: self.navigationController!.view)
errorView.mostrarConMensaje(error.localizedDescription)
} else {
self.grupoCreado?.cantidadIntegrantes = self.contactosSeleccionados.count
let cobroView = PPAlertBotonesVerticalesView(view: self.navigationController!.view)
cobroView.delegate = self
cobroView.botonAceptar.setTitle(NSLocalizedString("btn_continuar", comment: ""), for: .normal)
cobroView.botonCancelar.setTitle(NSLocalizedString("activityCobroGrupo_et_omitir", comment: ""), for: .normal)
cobroView.mostrarConMensaje(mensaje: NSLocalizedString("activityCobroGrupo_et_realizar_cobro", comment: ""))
}
hud?.dismiss()
})
}
}
})
}
}
Итак, может ли кто-нибудь помочь мне понять, есть ли в моей логике ошибка?Много ли я использую (если-еще)?Или мне нужно добавить некоторые (DispatchQueue.main.async)?