Вы скрываете много важных частей вашего кода, поэтому мне нужно было угадать многие части.Если мой ответ далек от того, что вы ожидаете, вам следует обновить свой вопрос и показать соответствующие части кода.Например, полное определение вашего ActivityFeedCache
.
С таким определением:
typealias ActivityFeedCompletion = (Result<([FeedItem], Bool)>) -> Void
В случае успеха Result
вашего ActivityFeedCompletion
требуется single аргумент типа кортежа ([FeedItem], Bool)
.
В этой строке:
completion(.success(cache[currentTab], true))
Вы передаете два аргумента success
, поэтому сообщение достаточно ясно.Вам нужно передать единственный аргумент.
completion(.success((cache[currentTab], true)))
И последняя часть:
let tuple = Result.success(items,true) as ActivityFeedCompletion
completion((tuple,false))
Вы полностью ошибаетесь в типах.Result
не может быть преобразовано в ActivityFeedCompletion
, и вы не можете передать необработанный кортеж (tuple,false)
в completion
, который занимает Result<([FeedItem], Bool)>
.
Пожалуйста, попробуйте что-то вроде этого:
completion(.success((items, true/* or false, which you want to pass? */)))