我有一个 [AnyObject] 数组,想将其转换为 [PFObject] 和 [String]。这样做的正确方法是什么?我被告知 as String 不是从 AnyObject 向下转型的理想方式。
当前使用此代码将数组中的对象转换为字符串:
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;
}]
请您参考如下方法:
你可以这样使用:
let restaurantNames = finalRestaurantArray.map {
$0["Name"] as? String ?? ""
}
?? 设置默认值,如果向下转换失败。
