Метод возврата Objective-c, возвращающий NSMutableArray вместо объявленного возвращаемого типа NSArray

Если я хочу вернуть такой неизменяемый массив, как этот + (NSArray *)ids , но внутри этого метода я объявляю NSMutableArray , потому что хочу отсортировать его с помощью -sortUsingSelector: .

Возврат работает идеально.

  • Но нормально ли писать код, объявляющий, что метод возврата должен быть одного типа, а фактический тип - другого?

  • Работает ли это, потому что NSMutableArray является подклассом NSArray ?

  • Является ли фактическое возвращаемое значение NSArray или NSMutableArray ]?

8
задан Peter Warbo 6 July 2011 в 10:21
поделиться