Я хотел бы хранить замыкания в массиве.Но я понятия не имею, как это сделать, или мое мышление совершенно неверно.При настройке, показанной ниже, я получил ошибку:
Cannot convert value of type '(Reader) -> (URL) -> ()' to expected element type '(URL) -> ()'
Я не понимаю этого.Мой класс:
class Reader {
let fileNamesActions:[( filename:String, action:(URL) -> () )] = [
(filename:"goodStories.txt", action: readGoodStories),
(filename:"badStories.txt", action: readBadStories),
(filename:"stupidStories", action: readStupidStories)]
Я объявил функции следующим образом:
func readGoodStories(from url:URL) {
//read, do whatever i want with url
}
...
И я вызываю их по:
init (with url:URL) {
for (filename, action) in fileNamesActions {
action(url.appendingPathComponent(filename))
}
}