         if  property != nil {
             if property.type == .bool {
                 
-                let isEqual = (propertyValue.text! as String == "false")
+                let isEqual = (propertyValueTextField.text! as String == "false")
                 var newValue = "0"
                 if isEqual {
                     newValue = "1"
-                    propertyValue.text = "true"
+                    propertyValueTextField.text = "true"
                 } else {
-                    propertyValue.text = "false"
+                    propertyValueTextField.text = "false"
                 }
                 
                 self.delegate.textFieldDidFinishEdit(newValue, property: self.property)
-                propertyValue.resignFirstResponder()
+                propertyValueTextField.resignFirstResponder()
                 self.setNeedsLayout()
             }
         }
     }
     
-    
     func textFieldShouldReturn(_ textField: UITextField) -> Bool {
         textField.resignFirstResponder()
-        propertyValue.isUserInteractionEnabled = false
+        propertyValueTextField.isUserInteractionEnabled = false
         self.delegate.textFieldDidFinishEdit(textField.text!, property: self.property)
         return true
     }
     
     func textFieldDidEndEditing(_ textField: UITextField) {
         textField.resignFirstResponder()
-        propertyValue.isUserInteractionEnabled = false
+        propertyValueTextField.isUserInteractionEnabled = false
         if  property.type != .bool {
             self.delegate.textFieldDidFinishEdit(textField.text!, property: self.property)
         }

    
    override func prepareForReuse() {
        super.prepareForReuse()
        propertyValue.text = ""
        propertyTitle.text = ""
        propertyTitle.removeFromSuperview()
    }
    
    func cellWithAttributes(_ propertyTitle: String, propertyValue: String, editMode: Bool, property: Property, isArray:Bool) {
        self.propertyTitle = self.labelWithAttributes(14, weight:0.3, text: propertyTitle)
        self.contentView.addSubview(self.propertyTitle)
        
        
        if isArray {
            propertyValueLabel = self.labelWithAttributes(14, weight:0.3, text: propertyValue)
            self.contentView.addSubview(propertyValueLabel)
        } else {
            self.propertyValue.isUserInteractionEnabled = editMode
            self.isUserInteractionEnabled = editMode
            if property.type == .bool {
                //            self.propertyValue.userInteractionEnabled = false
            }
            if property.type == .float || property.type == .double {
                self.propertyValue.keyboardType = UIKeyboardType.decimalPad
            } else if property.type == .int {
                self.propertyValue.keyboardType = UIKeyboardType.numberPad
            }
            
            self.propertyValue.delegate = self
            self.propertyValue.backgroundColor = .black
            self.propertyValue.returnKeyType = .done
            self.propertyValue.backgroundColor = .white
            self.propertyValue.textAlignment = .right
            
            self.propertyValue.text = propertyValue
            
            self.contentView.addSubview(self.propertyValue)
        }
        self.property = property
        self.setNeedsLayout()
        self.isUserInteractionEnabled = true
    }
    
    override func layoutSubviews() {

        var labelSize = propertyTitle.sizeThatFits(CGSize(width: self.bounds.size.width - 2*borderOffset, height: 2000.0))
        propertyTitle.frame = (CGRect(x: borderOffset, y: (self.bounds.size.height-labelSize.height)/2.0, width: labelSize.width, height: labelSize.height))
        
        let labelWidth = self.bounds.size.width-propertyTitle.bounds.size.width-2*borderOffset
        labelSize = propertyValueTextField.sizeThatFits(CGSize(width: labelWidth, height: 2000.0))
        propertyValueTextField.frame = (CGRect(x:self.bounds.size.width-labelWidth-borderOffset, y: (self.bounds.size.height-labelSize.height)/2, width:labelWidth, height: labelSize.height))
    }
    
    //MARK: private method
