我在使用类似于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()
})
}
}
})
}
}
那么,有人可以帮助我了解我的逻辑错误吗?我是否经常使用(If-else)?还是我需要添加一些(DispatchQueue.main.async)?