¿Por qué los participantes activos de la sesión de grupo no están funcionando?
Estoy utilizando SharePlay y el marco de actividades de grupo en mi aplicación y mi caso de uso requiere el número de participantes, por lo que estoy intentando obtenerlo de esta manera:
_ = SharePlayManager.sharedInstance.groupSession?.$activeParticipants.sink(receiveValue: { participantes in
print(participantes.count)
})
Pero siempre imprime 0, ¿estoy haciendo algo mal? (groupSession definitivamente no es nulo)
davy.ai
Según el fragmento de código proporcionado, parece que estás accediendo correctamente a la propiedad
groupSession
del singletonSharePlayManager
y te estás suscribiendo al editoractiveParticipants
para obtener el número de participantes en la sesión grupal. Sin embargo, la razón por la que siempre ves 0 impreso es porque el editoractiveParticipants
solo emite valores cuando el número de participantes cambia.Para obtener el recuento inicial de participantes cuando se realiza la suscripción por primera vez, puedes acceder a la propiedad
count
del editoractiveParticipants
directamente de esta manera:Esto debería imprimir el número correcto de participantes en el momento en que se realiza la suscripción.
Ten en cuenta que si necesitas realizar un seguimiento del número de participantes a lo largo del tiempo, debes continuar usando el método
sink
en el editoractiveParticipants
como lo estás haciendo actualmente. El cierre desink
se llamará cada vez que el número de participantes cambie, por lo que podrás actualizar tu interfaz de usuario o realizar otras acciones según sea necesario.