У меня есть массив [AnyObject]
и хотел бы его отличить как [PFObject]
и [String]
. Каков правильный способ сделать это? Мне сказали, что as String
не был идеальным способом угасить от AnyObject
.Downcast [AnyObject] to [String] и [PFObject]
В настоящее время с помощью этого кода, чтобы преобразовать объект в массиве в виде строки:
restaurantNames = finalRestaurantArray.map { $0.objectForKey("Name") as String }
массива выглядит следующим образом:
[<Restaurant: 0x7feb9252cfc0, objectId: LA74J92QDA, localId: (null)> {
Name = "Restaurant 1";
City = "New York";
Closed = 1;
Country = "United States";
FoodType = Japanese;
}, <Restaurant: 0x7feb926afa00, objectId: 0aKFrpKN46, localId: (null)> {
Name = "Restaurant 2";
City = "San Francisco";
Closed = 1;
Country = "United States";
FoodType = Italian;
}]
Что вы делаете правильно, поэтому я не вижу вопроса. Разве это не работает? Если это так, пожалуйста, объясните, что происходит. – matt
Проблема в том, что вам не нравится использование AnyObject? Затем сначала переведите весь массив в '[PFObject]' (как вы уже сказали). – matt
@matt Я спрашивал, потому что мой другой вопрос получил ответ, который предположил, что downcasting с 'as String' был плохой идеей: http://stackoverflow.com/questions/28099082 – Onichan