Changed NSFetchRequest Now everything happens like this
let request: NSFetchRequest<Level> = Level.fetchRequest But then the fun began.
if #available(iOS 10.0, *) { let request: NSFetchRequest<Level> = Level.fetchRequest } else { let request = NSFetchRequest(entityName: "Level") as NSFetchRequest! } And everything is good, but after all request necessary outside of if/else
try context.fetch(fetchRequest) The question is how to make the
requestgivenis/else?
PS Initialization before if/esle does not work, because initialization for them is different. 
PSS to write try context.fetch(fetchRequest) separately for each axis is silly!