我試圖讓寫在斯威夫特2,新的舊的應用程序,更新到最新的功能最全,以適用於iOS準備轉換斯威夫特3 11和Swift 4(即使已經晚了)。iOS的 - 無法將類型LazyMapRandomAccessCollection的價值 - 斯威夫特3
我翻譯的過程後留下的一些錯誤,但這裏有一個我無法修復。
以下是錯誤,從我的收藏夾刷新方法來:
fileprivate func checkFavorites() {
if !DataUtils.isBackgroundRefreshInProgress() {
let ids = favoritesTableViewController!.favoriteCityList?.map({ $0.id })
if let ids = ids, ids.count > 0 {
DataUtils.refreshCity(ids) {() -> Void in
self.favoritesTableViewController.refresh()
})
}
}
}
下面是一些原型和信息有關的變量:
var favoriteCityList: Results<City>?
很明顯,你會發現,我用的境界。
這裏是方法refreshCity的原型:
class func refreshCity(cityIds: [Int], withHandler: @escaping (() -> Void)) {}
這是我在這行得到了錯誤:
DataUtils.refreshCity(ids) {() -> Void in
無法將類型的價值
'LazyMapRandomAccessCollection<Results<City>, Int>' to expected element type Int
我應該在我的原型方法來改變,當我USI NG列表<>或結果<>容器?
沒有更多的上下文,很難給出確切的答案。 「favoriteCityList」的類型是什麼?是'id'應該是一個'Int'和'ids'的'[INT]'? –
ID是int所以IDS是一個[INT]但是當我使用地圖上的結果類型,它攪亂一切,我不認識的類型了 –
Balanced