classes – Initialize Swift class or struct values inline

For a Metal application, I would like to create and initalize texture object globally so it will not have to be optional, and will already be ready to use once viewDidLoad is called. To do this, I need a MTLTextureDescriptor with the correct values inline. It has to be inline because I do not want to create a global descriptor that will only be used once, and since this file is not main.swift, out of line code at the top level will not be accepted. I have:

let Device = MTLCreateSystemDefaultDevice()!, TerrainTexture = Device.makeTexture(descriptor: ({
    let Descriptor = MTLTextureDescriptor()
    Descriptor.textureType = .type2DArray
    Descriptor.arrayLength = TERRAIN_TEXTURES_COUNT
    Descriptor.width = TERRAIN_TEXTURE_SIZE
    Descriptor.height = TERRAIN_TEXTURE_SIZE
    Descriptor.mipmapLevelCount = TERRAIN_TEXTURE_MIPMAP_LEVEL_COUNT
    return Descriptor
})())!

I define a closure, and call it to get a descriptor to get a texture, all inline, since the initializer of MTLTextureDescriptor does not have parameters for these values, so I need to set them manually. But is making a closure inline and calling it really the cleanest way to simply initialize the values of a struct or class to constant values inline? Is there a nicer way to do this?