 
     /// 未设定的约束中，已经没有用来约束 view 的约束了
     func hasSetConstrainTo(view:UIView) -> Bool {
-        _fy_waitLayoutQueue()
         for con in constraints {
             if con.to == view {
-                assert(con.to.superview == con.from.superview, "A constraint.to and from must has same superview")
                 return false
             }
         }

        repeat {
            shouldRepeat = false
            layoutingViews.forEach { view in
                if hasSetConstrainTo(view) {
                    _fy_waitLayoutQueue()
                    view.layoutWithFangYuan()
                    setConstraintsFrom(view)
                    //  在被遍历的数组中移除该 view

        }
    }
    
    func noConstraintCirculationWith(constraint:Constraint) -> Bool {
        return constraints.filter {
            $0 <=> constraint
        }.count == 0
    }
    
}

