         else {
             return defaultValue
         }
-        
-        return arrayValue
-    }
-    public func object(forKey keyName: String, defaultValue:NSCoding? = nil) -> NSCoding? {
+        if let val = arrayValue as Array<Any>? {
+            return val
+        } else {
+            return defaultValue
+        }
+    }
+    public func object(forKey keyName: String, defaultValue:NSCoding) -> NSCoding {
         let dataValue: Data? = self.getData(forKey: keyName)
         
         var objectValue: NSCoding?

        } else {
            return defaultValue
        }
        
        return objectValue;
    }
    fileprivate func getData(forKey keyName: String) -> Data? {
        let keychainQueryDictionary = self.setupKeychainQueryDictionary(forKey: keyName)
        var result: AnyObject?

        else {
            return defaultValue
        }
        if let val = intValue as Int? {
            return val
        } else {
            return defaultValue
        }
    }
    public func array(forKey keyName: String, defaultValue:Array<Any>) -> Array<Any> {
        let keychainData: Data? = self.getData(forKey: keyName)
        var arrayValue: Array<Any>?
        if let data = keychainData {
