我有以下switch
聲明,它似乎是非常詳盡的。開關語句必須是詳盡的
switch (point.x > frame.origin.x, point.y > frame.origin.y) {
case (true, true): // Bottom right
moveSubviewX = subview.frame.origin.x - moveBy
moveSubviewY = subview.frame.origin.y - moveBy
case (false, true): // Bottom left
moveSubviewX = subview.frame.origin.x + moveBy
moveSubviewY = subview.frame.origin.y - moveBy
case (true, false): // Top right
moveSubviewX = subview.frame.origin.x - moveBy
moveSubviewY = subview.frame.origin.y + moveBy
case (false, false): // Top left
moveSubviewX = subview.frame.origin.x + moveBy
moveSubviewY = subview.frame.origin.y + moveBy
}
隨着tuple
具有兩個Bool
部件只有4個可能的變型。爲什麼我仍然有一個建議來包含「默認條款」?
「點」是CGPoint嗎? 'frame'是CGRect嗎? – 2014-11-06 16:29:18
正確,但'frame.origin'也是'CGPoint',所以我沒有看到可能的衝突。 – 2014-11-06 16:30:00
我要求確保不涉及任何可能的類型。 – 2014-11-06 16:31:29