У меня есть реализация протокола следующим образом.Как вернуть `[Self]` из Swift Protocol?
protocol DatabaseInjectable {
static func deriveObjectFromDBRow(row: [String]) -> Self? // Method - 1
static func collectAllObjectsForDatabaseAction(action: (Database) -> Void) -> [Self]? // Method - 2
}
Где я успешно с реализацией корреспондент Method - 1
, как это:
static func deriveObjectFromDBRow(row: [String]) -> Self? {
...
}
Но я не мог Реализовать Method - 2
так:
static func collectAllObjectsForDatabaseAction(action: (WWDatabase) -> Void) -> [Self]? {
...
}
Там я получаю сообщение об ошибке например:
'Self' is only available in a protocol or as the result of a method in a class;
Любая помощь в возврате формы массива Self
(класс, который он сам) будет приятным.
Несмотря на то, что я ответил на несколько * похожих * вопросов (ни один из которых, я думаю, не ответил на ваш * конкретный вопрос), я до сих пор считаю обращение к «Я» неинтуитивным. Может быть, кто-то может написать окончательное руководство по этому вопросу ... – Grimxn