DataService protocol, shared dispatch queue
protocol DataService {
var coreDataService:CoreDataService {
get
}
var processQueue:DispatchQueue {
get
}
}
class AppDataService: DataService {
var coreDataService: CoreDataService
private(set) var processQueue = DispatchQueue(label: "DataServiceProcessQueue")
init(coreDataService:CoreDataService) {
self.coreDataService = coreDataService
}
static let sharedService = AppDataService(coreDataService:MainCoreDataService())
}