             }
         }
         set {
-            self.object = newValue ?? NSNull()
+            if newValue != nil {
+                self.object = NSString(string:newValue!)
+            } else {
+                self.object = NSNull()
+            }
         }
     }
     

    
    public var double: Double? {
        get {
            if self.type == .Number {
                return self.object.doubleValue
            }
            return nil
        }
        set {
            self.object = newValue ?? NSNull()
        }
    }
    
    public var doubleValue: Double {
        get {
            return self.double ?? 0.0
        }
    }
    
    public var float: Float? {
        get {
            if self.type == .Number {
                return self.object.floatValue
            }
            return nil
        }
        set {
            self.object = newValue ?? NSNull()
        }
    }
    
    public var floatValue: Float {
        get {
            return self.float ?? 0.0
        }
    }
    
    public var int: Int? {
        get {
            if self.type == .Number {
                return self.object.longValue
            }
            return nil
        }
        set {
            self.object = newValue ?? NSNull()
        }
    }
    
    public var intValue: Int {
        get {
            return self.int ?? 0
        }
    }
    
    public var uInt: UInt? {
        get {
            if self.type == .Number {
                return self.object.unsignedLongValue
            }
            return nil
        }
        set {
            self.object = newValue ?? NSNull()
        }
    }
    
    public var uIntValue: UInt {
        get {
            return self.uInt ?? 0
        }
    }

    public var int8: Int8? {
        get {
            if self.type == .Number {
                return self.object.charValue
            }
            return nil
        }
    }
    
    public var int8Value: Int8 {
        get {
            return self.int8 ?? 0
        }
    }
    
    public var uInt8: UInt8? {
        get {
            if self.type == .Number {
                return self.object.unsignedCharValue
            }
            return nil
        }
    }
    
    public var uInt8Value: UInt8 {
        get {
            return self.uInt8 ?? 0
        }
    }
    
    public var int16: Int16? {
        get {
            if self.type == .Number {
                return self.object.shortValue
            }
            return nil
        }
    }
    
    public var int16Value: Int16 {
        get {
            return self.int16 ?? 0
        }
    }
    
    public var uInt16: UInt16? {
        get {
            if self.type == .Number {
                return self.object.unsignedShortValue
            }
            return nil
        }
    }
    
    public var uInt16Value: UInt16 {
        get {
            return self.uInt16 ?? 0
        }
    }

    public var int32: Int32? {
        get {
            if self.type == .Number {
                return self.object.intValue
            }
            return nil
        }
    }
    
    public var int32Value: Int32 {
        get {
            return self.int32 ?? 0
        }
    }
    
    public var uInt32: UInt32? {
        get {
            if self.type == .Number {
                return self.object.unsignedIntValue
            }
            return nil
        }
    }
    
    public var uInt32Value: UInt32 {
        get {
            return self.uInt32 ?? 0
        }
    }
    
    public var int64: Int64? {
        get {
            if self.type == .Number {
                return self.object.longLongValue
            }
            return nil
        }
    }
    
    public var int64Value: Int64 {
        get {
            return self.int64 ?? 0
        }
    }
    
    public var uInt64: UInt64? {
        get {
            if self.type == .Number {
                return self.object.unsignedLongLongValue
            }
            return nil
        }
    }
    
    public var uInt64Value: UInt64 {
        get {
            return self.uInt64 ?? 0
        }
    }
}

                _type = .Dictionary
            default:
                _type = .Unknow
                _object = NSNull()
                _error = NSError(domain: ErrorDomain, code: ErrorUnsupportedType, userInfo: [NSLocalizedDescriptionKey: "It is a unsupported type"])
            }
        }
