Skip to main content
 首页 » 操作系统

arrays之将 [AnyObject] 向下转换为 [String] 和 [PFObject]

2024年01月01日32telwanggs

我有一个 [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 ?? "" 
} 

?? 设置默认值,如果向下转换失败。