title: Property Wrappers: "Cannot use instance member within property initializer; property initializers run before 'self' is available"
body: <p>I am trying to create the bellow property wrapper</p>
  
  <pre><code>@propertyWrapper
  public struct ConstraintValue {
  
      private let view:UIView
      private let contraint:NSLayoutConstraint
  
      public init(contraint:NSLayoutConstraint,view:UIView) {
          self.contraint = contraint
          self.view = view
      }
  
      public var wrappedValue: CGFloat {
          set {
              contraint.constant = newValue
              view.layoutIfNeeded()
  
          }
  
          get {
              return contraint.constant
          }
  
      }
  }
  </code></pre>
  
  <p>But when I try to use it I am getting "Cannot use instance member within property initializer; property initialisers run before 'self' is available"</p>
  
  <pre><code>@IBOutlet weak private var imageViewHeightConstraint: NSLayoutConstraint!
   @ConstraintValue(contraint: imageViewHeightConstraint, view: self)
   public var imageHeight:CGFloat
  </code></pre>
  
  <p>Is there a way to passthrough this error ?</p>