Append - это метод структуры массива, а не URL / String.
- Сначала вам нужно создать массив (вы только что объявили его, вам нужно что-то назначить для него)
- Затем вам нужно создать объект, который вы хотите добавить в массив
- Теперь вы можете добавить этот вновь созданный объект в массив
Это должно выглядетьчто-то вроде этого:
import Cocoa
import Quartz
class MyFilter {
var myURL: URL?
var name: String?
init(url: URL?, name: String?) {
self.myURL = url
self.name = name
}
}
func getFilters() -> Array<MyFilter> {
var filterArray = [MyFilter]()
if let filters = QuartzFilterManager.filters(inDomains: nil) {
for filter in filters {
let aFilter = MyFilter(url: filter.url(), name: filter.localizedName())
filterArray.append(aFilter)
}
}
return filterArray
}
Теперь массив, возвращаемый этим методом, будет иметь N объектов MyFilter. Вы можете получить доступ к каждому объекту в массиве, как вы делали это раньше, с помощью
let aFilter = filterArray[index]
и получить свойство внутри этого объекта:
let url = aFilter.myURL
let name = aFilter.name
PS: я изменил некоторые имена насоответствовать соглашениям swift (классы пишутся в PascalCase и переменные в camelCase )
PpS: будьте осторожны с ! в swift, если этоиспользуется на что-то, что случается, ноль будет сбой приложения. Подробнее об опциях здесь
PpPs: я опоздал всего на несколько минут: D