Привет, у меня есть функция func для сообщений с разбивкой по страницам.Невозможно преобразовать тип выражения возврата в тип возврата с закрытием?
class func listMessages() -> (Int, Int, ([ChatItemProtocol]) -> Void) {
let service = MessageService()
func list(count: Int, offset: Int, comp:([ChatItemProtocol]) -> Void) {
let params : [String : AnyObject] = ["offset" : offset, "limit" : count]
service.listMessagesForRoom(params) { (messages) in
comp(messages.map({$0}))
}
}
return list
}
и у меня есть некоторые ошибки:
Cannot convert return expression of type '(Int, offset: Int, comp: ([ChatItemProtocol]) -> Void) ->()' to return type '(Int, Int, ([ChatItemProtocol]) -> Void)' (aka '(Int, Int, Array<ChatItemProtocol> ->())')
Хорошо, я использую библиотеку Chatto для чата, есть имя класса SlidindDataSource, которое тестирует приложение в репозитории chatto в github и использует для разбивки на страницы в чате. Он работает с тестовыми данными, но я хочу загружать сообщения с сервера. Поэтому я пытаюсь написать свой собственный генератор сообщений, который будет запускаться асинхронно. Спасибо за помощь. Это класс, в котором генерируются тестовые сообщения [chatto] (https://github.com/badoo/Chatto/blob/master/ChattoApp/ChattoApp/SlidingDatasSource.swift) – nickheck
@nickheck это выходит за рамки вашего вопроса и звучит как вопрос дизайна, а не синтаксис. Возможно, рассмотрим вопрос о том, как достичь (конструктивно) этого. Обязательно включите все необходимые детали в сам вопрос, а не по ссылкам (при этом сохраняя информацию несколько минимально). – dfri