Cuál es la lógica detrás de tener versiones mutables e inmutables de clases como NSArray, NSDictionary, etc. en el objetivo C?

¿Por qué las clases de colección comunes en Objective C como NSString, NSArray, NSDictionary, etc. tienen una versión mutable y otra inmutable? ¿Cuál es la lógica detrás de definirlos por separado? ¿Rendimiento, gestión de memoria o cualquier otra cosa?

Respuestas a la pregunta(5)

Su respuesta a la pregunta