                             var contactAddress: ContactAddress = ContactAddress()
                             
                             var address = Unmanaged.fromOpaque(ABMultiValueCopyValueAtIndex(addresses, i).toOpaque()).takeUnretainedValue() as NSDictionary
-                            var addressLabel:String = self.getLabel(Unmanaged.fromOpaque(ABMultiValueCopyLabelAtIndex(addresses, i).toOpaque()).takeUnretainedValue() as NSObject as String)
+                            
+                            var optAD = ABMultiValueCopyLabelAtIndex(addresses, i)?.toOpaque()
+                            if let AD = optAD {
+                                var addressLabel:String = self.getLabel(Unmanaged.fromOpaque(AD).takeUnretainedValue() as NSObject as? String)
+                                contactAddress.setType(self.getAddressTypeLabel(addressLabel))
+                            }
                             
                             var city:String = (address["City"] != nil) ? address["City"] as String:""
                             var country:String = (address["Country"] != nil) ? address["Country"] as String:""

    :author: Ferran Vila Conesa
    :since: ARP1.0
    */
    func getLabel(nonFormatedLabel: String) -> String {
        
        for (key, value) in PIM_LABELS {
            if key == nonFormatedLabel {
                return value
            }
        }
        return "other"
    }
    
    /**

                            
                            var fullAddress:String = (street + " " + zip + ", " + city + " " + country + " (" + countryCode + ")")
                            
                            contactAddress.setAddress(fullAddress)
                            contactAddressList.append(contactAddress)
                        }
