我有一个协议实现如下。如何从Swift协议中返回`[Self]`?
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