In my case, I used a helper function to save some data in Firebase. This function returned a dictionary with about 20 elements, and it took about 40 minutes to compile. My solution was to initialize an empty dictionary and then add items one by one before someDict . Now it compiles in less than 30 seconds. Hope this helps.
Before
func toAnyObject() -> AnyObject { return ["BookingAmount":BookingAmount, "BookingNumber":BookingNumber, "PostCode":PostCode, "SelectedBathRow":SelectedBathRow, "SelectedBedRow":SelectedBedRow, "DateAndTime":DateAndTime, "TimeStampDateAndTime":TimeStampDateAndTime, "TimeStampBookingSavedInDB": TimeStampBookingSavedInDB, "FrequencyName":FrequencyName, "FrequecyAmount":FrequecyAmount, "insideCabinets": insideCabinets, "insideFridge": insideFridge, "insideOven": insideOven, "laundryWash": laundryWash, "interiorWindows": interiorWindows, "FullName":FullName, "SuppliesName":SuppliesName, "SuppliesAmount":SuppliesAmount, "FlatNumber":FlatNumber, "StreetAddress":StreetAddress, "PhoneNumber":PhoneNumber, "EmailAddress":EmailAddress] as AnyObject }
After
func toAnyObject() -> AnyObject { var someDict = [String : AnyObject]() someDict["BookingAmount"] = self.BookingAmount as AnyObject? someDict["BookingNumber"] = self.BookingNumber as AnyObject? someDict["PostCode"] = self.PostCode as AnyObject? someDict["SelectedBathRow"] = self.SelectedBathRow as AnyObject? someDict["SelectedBedRow"] = self.SelectedBedRow as AnyObject? someDict["DateAndTime"] = self.DateAndTime as AnyObject? someDict["TimeStampDateAndTime"] = self.TimeStampDateAndTime as AnyObject? someDict["TimeStampBookingSavedInDB"] = self.TimeStampBookingSavedInDB as AnyObject? someDict["FrequencyName"] = self.FrequencyName as AnyObject? someDict["FrequecyAmount"] = self.FrequecyAmount as AnyObject? someDict["insideCabinets"] = self.insideCabinets as AnyObject? someDict["insideFridge"] = self.insideFridge as AnyObject? someDict["insideOven"] = self.insideOven as AnyObject? someDict["laundryWash"] = self.laundryWash as AnyObject? someDict["interiorWindows"] = self.interiorWindows as AnyObject? someDict["FullName"] = self.FullName as AnyObject? someDict["SuppliesName"] = self.SuppliesName as AnyObject? someDict["SuppliesAmount"] = self.SuppliesAmount as AnyObject? someDict["FlatNumber"] = self.FlatNumber as AnyObject? someDict["StreetAddress"] = self.StreetAddress as AnyObject? someDict["PhoneNumber"] = self.PhoneNumber as AnyObject? someDict["EmailAddress"] = self.EmailAddress as AnyObject? return someDict as AnyObject }
bibscy Dec 31 '16 at 1:45 2016-12-31 01:45
source share