         arr.append(name as AnyObject)
         arr.append(unravelParameters(parameters: self.parameters) as AnyObject)
         arr.append(valueType as AnyObject)
-        arr.append(value)
+        
+        var nicknames = [String]()
+        if nicknames.count == 1 {
+            arr.append(nicknames[0] as AnyObject)
+        }
+        else {
+            arr.append(nicknames as AnyObject)
+        }
         return arr
     }
 }

    }
    
    if contact.nickname != "" {
        let nickname = NicknameProperty(value: contact.nickname)
        card.nickname = nickname
    }
    else {

            //print("nameProperty = \(nameProperty.asArray())")
            
        case PropertyName.nickname.rawValue:
            let nicknames = property[PropertyIndex.value.rawValue]
            var values = [String]()
            if nicknames.type == .string {
                values.append(nicknames.string!)
            }
            else if nicknames.type == .array {
                for n in nicknames.array! {
                    values.append(n.string!)
                }
            }
            card.nickname = NicknameProperty(values: values)
            
        case PropertyName.birthday.rawValue:
            // Because the iOS contacts only store the date (and not the time)
