Давайте просто посмотрим на проблему с вашей первой строкой кода:
func getStringFromSortedArray (sortedArray:Array<Any>) -> String {
Это неправильно, потому что вы не говорите, какой тип элементов массива.Вы знаете , что это массив словарей, но вы скрываете этот факт от компилятора.Это означает, что вы не можете никуда идти отсюда.
Так что, если вы знаете, что это массив словарей, вы должны сказать , это массив словарей:
func getStringFromSortedArray (sortedArray:[[AnyHashable:Any]]) -> String {
Теперь, если вы знаете больше, вы должны сказать больше.Например, если вы знаете, что все ключи в этих словарях являются строками, вам следует сказать следующее:
func getStringFromSortedArray (sortedArray:[[String:Any]]) -> String {
Если вы знаете, что значения ввсе словари одного типа, вы также должны сказать, что:
func getStringFromSortedArray (sortedArray:[[String:Float]]) -> String {
Всегда будьте настолько конкретны, насколько это возможно, когда вы объявляете тип чего-либо.