2016-05-06 9 views
0

Я работаю над функцией мобильного приложения, используя Swift 2, где я пытаюсь передать объект RealmDB Results в качестве параметра.Передача результатов RealmDB Объект как Swift 2 Функциональный параметр

func myFunction(myDBresults: Results){ 
    Code to do stuff 
} 

Xcode дает ошибку с небольшим вверх стрелкой, указывающей на R в "Результаты":

Ссылка на 'Результаты' родового типа требует аргументов в < ...>

Я не знаю, что здесь требуется, поскольку я все еще узнаю о Свифте. Могу ли я получить указания на то, что здесь требуется?

ответ

4

Результаты является универсальным типом, так что вы должны либо сделать функцию родовой или указать тип объекта, хранящийся в результатах:

func myFunction(myDBresults: Results<MyObjectClass>) { 
    // do stuff 
} 

Или, если вы хотите иметь функцию, которая может принимать результаты любого типа:

func myFunction<T: Object>(myDBresults: Results<T>) { 
    // do stuff 
} 
+0

Я пошел с первым вариантом и заменил MyObjectClass классом типа Realm. Он работает так, как ожидалось. –