【发布时间】:2019-03-19 17:47:31
【问题描述】:
我有以下功能
func refreshFeedItems(completion: @escaping ActivityFeedCompletion) {
let currentTab = feedTab
//Result<([FeedItem], Bool)>) -> Void
// Load the cache in and start the spinner for the network request we're about to make
completion(.success(cache[currentTab], true))
ActivityFeedService.sharedInstance.refreshCommunityFeed(tab: currentTab) { result in
// A quick user might switch tabs before this
// call completes since we call completion twice
guard currentTab == self.feedTab else {
return
}
switch result {
case .failure(let error):
Log.warn(error)
completion(.failure(error))
case .success(let items):
self.cache[self.feedTab] = items
let tuple = Result.success(items,true) as ActivityFeedCompletion
completion((tuple,false))
}
}
}
但是这一行
completion(.success(cache[currentTab], true))
还有这个
let tuple = Result.success(items,true) as ActivityFeedCompletion
两者都给我一个“调用中的额外参数”错误。
这是我的活动完成类型别名
typealias ActivityFeedCompletion = (Result<([FeedItem], Bool)>) -> Void
我不确定我为什么会收到这个错误,我认为它具有误导性,但我对如何修复它没有任何想法。
【问题讨论】:
标签: swift completion