Я знаю, что вы не должны использовать это, чтобы решить, стоит ли менять массив:
if ([possiblyMutable isKindOfClass:[NSMutableArray class]])
Но, скажем, я пишу метод и должен вернуть либо NSMutableArray
, либо NSArray
, в зависимости от изменчивости possiblyMutable
.Класс, использующий мой метод, уже знает, допустимо ли изменять возвращаемый массив.Является ли приемлемым изменение возвращенного массива напрямую, зависит от того, допустимо ли изменение possiblyMutable
.
В этом конкретном случае является ли этот код безопасным?Мне кажется, что если не приемлемо для изменения массива, но мы случайно получаем изменяемый массив, это нормально, потому что класс, использующий мой метод, не будет пытаться изменить его.И если является приемлемым для изменения массива, то мы всегда получим possiblyMutable
как NSMutableArray
(хотя это часть, с которой я не совсем уверен).
Так ... безопасно или нет?Альтернативы?