Обработка RLMResult в гетерогенном табличном представлении - PullRequest
0 голосов
/ 30 марта 2020

Как мне обращаться с табличным представлением, ячейки которого представляют собой RLMResult и другие пользовательские представления? Скажем, у меня есть эта структура, приложение со списком задач, в котором отображаются элементы списка задач и некоторые рекламные объявления:

protocol TableItem {}

class ToDoItem: RLMObject, TableItem {
 // properties
}

class Advertising: TableItem {
 // properties
}

class ViewController: UIViewController {

var result: RLMResult<ToDoItem>
var ads: [Advertising]

var tableViewItems: [TableItem] // Created by mixing both `result` and `ads`.

}

// other class stuff

Мне нужно вывести из очереди другую ячейку в зависимости от типа каждого элемента в tableViewItems.

Самое простое - преобразовать свойство result в простое Array<ToDoItem>, а затем объединить оба массива; Документация по области не рекомендует преобразовывать RLMResult в простой массив, чтобы не потерять все ленивые возможности RLMResult.

Есть идеи?

...