I'm trying to make a GET Request through Alamofire and expect data to be returned. It works fine when I initialize my Data class in my Viewcontroller like 

```
 let dataRequest = DataClass()

```

and then call my function to GET Data, but when I try to declare it like 

```
 let dataRequest: DataClass!

```

and try to call the GET function
it says unexpectedly found nil. 

The reason I'm force unwrapping, versus initializing is because in my Data Class, I have an init function like init(address: String, Zip: Double). 

I'll share my Classes so maybe someone can give me some insight as to why its returning nil. 

```
class FirstViewController {
var dataRequest: DataClass!

   override func viewDidLoad() {
    super.viewDidLoad()

   dataRequest.downloadData { // Returns nil at this point
    let initData = DataClass(dataRequest._address)

}

 }
}

```

DataClass 

```
Class DataClass {
var _address: String!
 init(address: String) {
 _address = address
 }
func downloadProperties(completed: @escaping downloadComplete) {
    Alamofire.request(Listings).responseJSON { response in
        if let result = response.result.value {
            let dict = JSON(result)
            if let data = dict["data"].dictionary {

                if let listingResultDict = data["listings"]?.array  {

                    for list in listingResultDict {

                        if let propertyAddress = list["data"]["name"].string {
                            self._address = propertyName
                        }
                      }
                    }
                  }
                }
              complete()
             }
           }

    }

```

Constans 

```
typealias downloadComplete = () -> ()

```

Let me know if there needs to be any more clarification.